@jrmc/adonis-attachment 2.4.2 → 3.1.0

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.
Files changed (49) hide show
  1. package/build/bin/test.d.ts +1 -0
  2. package/build/bin/test.js +34 -0
  3. package/build/index.d.ts +1 -0
  4. package/build/providers/attachment_provider.d.ts +2 -2
  5. package/build/services/main.d.ts +2 -2
  6. package/build/src/adapters/exif.d.ts +7 -1
  7. package/build/src/adapters/exif.js +8 -5
  8. package/build/src/attachment_manager.d.ts +7 -4
  9. package/build/src/attachment_manager.js +21 -8
  10. package/build/src/define_config.d.ts +16 -2
  11. package/build/src/define_config.js +8 -9
  12. package/build/src/errors.d.ts +18 -14
  13. package/build/src/errors.js +4 -0
  14. package/build/src/mixins/attachmentable.d.ts +127 -112
  15. package/build/src/mixins/attachmentable.js +2 -2
  16. package/build/src/types/attachment.d.ts +2 -1
  17. package/build/src/types/config.d.ts +22 -19
  18. package/build/src/types/index.d.ts +5 -0
  19. package/build/src/types/index.js +5 -0
  20. package/build/src/utils/helpers.d.ts +2 -0
  21. package/build/src/utils/helpers.js +35 -1
  22. package/build/stubs/config.stub +11 -5
  23. package/build/tests/attachment-manager.spec.d.ts +7 -0
  24. package/build/tests/attachment-manager.spec.js +234 -0
  25. package/build/tests/attachment.spec.d.ts +7 -0
  26. package/build/tests/attachment.spec.js +16 -0
  27. package/build/tests/commands.spec.d.ts +7 -0
  28. package/build/tests/commands.spec.js +58 -0
  29. package/build/tests/fixtures/converters/image_converter.d.ts +12 -0
  30. package/build/tests/fixtures/converters/image_converter.js +12 -0
  31. package/build/tests/fixtures/factories/user.d.ts +8 -0
  32. package/build/tests/fixtures/factories/user.js +19 -0
  33. package/build/tests/fixtures/factories/user_with_variants.d.ts +8 -0
  34. package/build/tests/fixtures/factories/user_with_variants.js +19 -0
  35. package/build/tests/fixtures/migrations/create_users_table.d.ts +12 -0
  36. package/build/tests/fixtures/migrations/create_users_table.js +23 -0
  37. package/build/tests/fixtures/models/user.d.ts +466 -0
  38. package/build/tests/fixtures/models/user.js +36 -0
  39. package/build/tests/fixtures/models/user_with_variants.d.ts +465 -0
  40. package/build/tests/fixtures/models/user_with_variants.js +33 -0
  41. package/build/tests/helpers/app.d.ts +29 -0
  42. package/build/tests/helpers/app.js +104 -0
  43. package/build/tests/helpers/index.d.ts +7 -0
  44. package/build/tests/helpers/index.js +7 -0
  45. package/build/tests/options.spec.d.ts +7 -0
  46. package/build/tests/options.spec.js +126 -0
  47. package/build/tests/variants.spec.d.ts +7 -0
  48. package/build/tests/variants.spec.js +21 -0
  49. package/package.json +39 -14
@@ -0,0 +1,466 @@
1
+ /**
2
+ * @jrmc/adonis-attachment
3
+ *
4
+ * @license MIT
5
+ * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
+ */
7
+ import type { Attachment } from '../../../src/types/attachment.js';
8
+ import { DateTime } from 'luxon';
9
+ declare const User_base: {
10
+ new (...args: any[]): {
11
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
12
+ $attributes: import("@adonisjs/lucid/types/model").ModelObject;
13
+ $extras: import("@adonisjs/lucid/types/model").ModelObject;
14
+ $original: import("@adonisjs/lucid/types/model").ModelObject;
15
+ $preloaded: {
16
+ [relation: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
17
+ };
18
+ $columns: undefined;
19
+ $sideloaded: import("@adonisjs/lucid/types/model").ModelObject;
20
+ $primaryKeyValue?: number | string;
21
+ $isPersisted: boolean;
22
+ $isNew: boolean;
23
+ $isLocal: boolean;
24
+ $dirty: import("@adonisjs/lucid/types/model").ModelObject;
25
+ $isDirty: boolean;
26
+ $isDeleted: boolean;
27
+ $options?: import("@adonisjs/lucid/types/model").ModelOptions;
28
+ $trx?: import("@adonisjs/lucid/types/database").TransactionClientContract;
29
+ $setOptionsAndTrx(options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): void;
30
+ useTransaction(trx: import("@adonisjs/lucid/types/database").TransactionClientContract): /*elided*/ any;
31
+ useConnection(connection: string): /*elided*/ any;
32
+ $getQueryFor(action: "insert", client: import("@adonisjs/lucid/types/database").QueryClientContract): ReturnType<import("@adonisjs/lucid/types/database").QueryClientContract["insertQuery"]>;
33
+ $getQueryFor(action: "update" | "delete" | "refresh", client: import("@adonisjs/lucid/types/database").QueryClientContract): import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<import("@adonisjs/lucid/types/model").LucidModel>;
34
+ $setAttribute(key: string, value: any): void;
35
+ $getAttribute(key: string): any;
36
+ $getAttributeFromCache(key: string, callback: import("@adonisjs/lucid/types/model").CacheNode["getter"]): any;
37
+ $hasRelated(key: string): boolean;
38
+ $setRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
39
+ $pushRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
40
+ $getRelated(key: string, defaultValue?: any): import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | undefined | null;
41
+ $consumeAdapterResult(adapterResult: import("@adonisjs/lucid/types/model").ModelObject, sideloadAttributes?: import("@adonisjs/lucid/types/model").ModelObject): void;
42
+ $hydrateOriginals(): void;
43
+ fill(value: Partial<{
44
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
45
+ }>, allowExtraProperties?: boolean): /*elided*/ any;
46
+ merge(value: Partial<{
47
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
48
+ }>, allowExtraProperties?: boolean): /*elided*/ any;
49
+ isDirty(fields?: "$attachments" | ("$attachments" | undefined)[] | undefined): boolean;
50
+ enableForceUpdate(): /*elided*/ any;
51
+ save(): Promise</*elided*/ any>;
52
+ lockForUpdate<T>(callback: (user: /*elided*/ any) => T | Promise<T>): Promise<T>;
53
+ delete(): Promise<void>;
54
+ refresh(): Promise</*elided*/ any>;
55
+ load: import("@adonisjs/lucid/types/model").LucidRowPreload</*elided*/ any>;
56
+ loadOnce: import("@adonisjs/lucid/types/model").LucidRowPreloadOnce</*elided*/ any>;
57
+ preload: import("@adonisjs/lucid/types/model").LucidRowPreload</*elided*/ any>;
58
+ 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>;
59
+ 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>;
60
+ serializeAttributes(fields?: import("@adonisjs/lucid/types/model").CherryPickFields, raw?: boolean): import("@adonisjs/lucid/types/model").ModelObject;
61
+ serializeComputed(fields?: import("@adonisjs/lucid/types/model").CherryPickFields): import("@adonisjs/lucid/types/model").ModelObject;
62
+ serializeRelations(fields: undefined, raw: true): {
63
+ [key: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
64
+ };
65
+ serializeRelations(cherryPick: import("@adonisjs/lucid/types/model").CherryPick["relations"] | undefined, raw: false | undefined): import("@adonisjs/lucid/types/model").ModelObject;
66
+ serializeRelations(cherryPick?: import("@adonisjs/lucid/types/model").CherryPick["relations"], raw?: boolean): import("@adonisjs/lucid/types/model").ModelObject;
67
+ serialize(cherryPick?: import("@adonisjs/lucid/types/model").CherryPick): import("@adonisjs/lucid/types/model").ModelObject;
68
+ toObject(): import("@adonisjs/lucid/types/model").ModelObject;
69
+ toJSON(): import("@adonisjs/lucid/types/model").ModelObject;
70
+ 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;
71
+ };
72
+ afterFindHook(modelInstance: {
73
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
74
+ $attributes: import("@adonisjs/lucid/types/model").ModelObject;
75
+ $extras: import("@adonisjs/lucid/types/model").ModelObject;
76
+ $original: import("@adonisjs/lucid/types/model").ModelObject;
77
+ $preloaded: {
78
+ [relation: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
79
+ };
80
+ $columns: undefined;
81
+ $sideloaded: import("@adonisjs/lucid/types/model").ModelObject;
82
+ $primaryKeyValue?: number | string;
83
+ $isPersisted: boolean;
84
+ $isNew: boolean;
85
+ $isLocal: boolean;
86
+ $dirty: import("@adonisjs/lucid/types/model").ModelObject;
87
+ $isDirty: boolean;
88
+ $isDeleted: boolean;
89
+ $options?: import("@adonisjs/lucid/types/model").ModelOptions;
90
+ $trx?: import("@adonisjs/lucid/types/database").TransactionClientContract;
91
+ $setOptionsAndTrx(options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): void;
92
+ useTransaction(trx: import("@adonisjs/lucid/types/database").TransactionClientContract): /*elided*/ any;
93
+ useConnection(connection: string): /*elided*/ any;
94
+ $getQueryFor(action: "insert", client: import("@adonisjs/lucid/types/database").QueryClientContract): ReturnType<import("@adonisjs/lucid/types/database").QueryClientContract["insertQuery"]>;
95
+ $getQueryFor(action: "update" | "delete" | "refresh", client: import("@adonisjs/lucid/types/database").QueryClientContract): import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<import("@adonisjs/lucid/types/model").LucidModel>;
96
+ $setAttribute(key: string, value: any): void;
97
+ $getAttribute(key: string): any;
98
+ $getAttributeFromCache(key: string, callback: import("@adonisjs/lucid/types/model").CacheNode["getter"]): any;
99
+ $hasRelated(key: string): boolean;
100
+ $setRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
101
+ $pushRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
102
+ $getRelated(key: string, defaultValue?: any): import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | undefined | null;
103
+ $consumeAdapterResult(adapterResult: import("@adonisjs/lucid/types/model").ModelObject, sideloadAttributes?: import("@adonisjs/lucid/types/model").ModelObject): void;
104
+ $hydrateOriginals(): void;
105
+ fill(value: Partial<{
106
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
107
+ }>, allowExtraProperties?: boolean): /*elided*/ any;
108
+ merge(value: Partial<{
109
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
110
+ }>, allowExtraProperties?: boolean): /*elided*/ any;
111
+ isDirty(fields?: "$attachments" | ("$attachments" | undefined)[] | undefined): boolean;
112
+ enableForceUpdate(): /*elided*/ any;
113
+ save(): Promise</*elided*/ any>;
114
+ lockForUpdate<T>(callback: (user: /*elided*/ any) => T | Promise<T>): Promise<T>;
115
+ delete(): Promise<void>;
116
+ refresh(): Promise</*elided*/ any>;
117
+ load: import("@adonisjs/lucid/types/model").LucidRowPreload</*elided*/ any>;
118
+ loadOnce: import("@adonisjs/lucid/types/model").LucidRowPreloadOnce</*elided*/ any>;
119
+ preload: import("@adonisjs/lucid/types/model").LucidRowPreload</*elided*/ any>;
120
+ 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>;
121
+ 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>;
122
+ serializeAttributes(fields?: import("@adonisjs/lucid/types/model").CherryPickFields, raw?: boolean): import("@adonisjs/lucid/types/model").ModelObject;
123
+ serializeComputed(fields?: import("@adonisjs/lucid/types/model").CherryPickFields): import("@adonisjs/lucid/types/model").ModelObject;
124
+ serializeRelations(fields: undefined, raw: true): {
125
+ [key: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
126
+ };
127
+ serializeRelations(cherryPick: import("@adonisjs/lucid/types/model").CherryPick["relations"] | undefined, raw: false | undefined): import("@adonisjs/lucid/types/model").ModelObject;
128
+ serializeRelations(cherryPick?: import("@adonisjs/lucid/types/model").CherryPick["relations"], raw?: boolean): import("@adonisjs/lucid/types/model").ModelObject;
129
+ serialize(cherryPick?: import("@adonisjs/lucid/types/model").CherryPick): import("@adonisjs/lucid/types/model").ModelObject;
130
+ toObject(): import("@adonisjs/lucid/types/model").ModelObject;
131
+ toJSON(): import("@adonisjs/lucid/types/model").ModelObject;
132
+ 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;
133
+ }): Promise<void>;
134
+ afterFetchHook(modelInstances: {
135
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
136
+ $attributes: import("@adonisjs/lucid/types/model").ModelObject;
137
+ $extras: import("@adonisjs/lucid/types/model").ModelObject;
138
+ $original: import("@adonisjs/lucid/types/model").ModelObject;
139
+ $preloaded: {
140
+ [relation: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
141
+ };
142
+ $columns: undefined;
143
+ $sideloaded: import("@adonisjs/lucid/types/model").ModelObject;
144
+ $primaryKeyValue?: number | string;
145
+ $isPersisted: boolean;
146
+ $isNew: boolean;
147
+ $isLocal: boolean;
148
+ $dirty: import("@adonisjs/lucid/types/model").ModelObject;
149
+ $isDirty: boolean;
150
+ $isDeleted: boolean;
151
+ $options?: import("@adonisjs/lucid/types/model").ModelOptions;
152
+ $trx?: import("@adonisjs/lucid/types/database").TransactionClientContract;
153
+ $setOptionsAndTrx(options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): void;
154
+ useTransaction(trx: import("@adonisjs/lucid/types/database").TransactionClientContract): /*elided*/ any;
155
+ useConnection(connection: string): /*elided*/ any;
156
+ $getQueryFor(action: "insert", client: import("@adonisjs/lucid/types/database").QueryClientContract): ReturnType<import("@adonisjs/lucid/types/database").QueryClientContract["insertQuery"]>;
157
+ $getQueryFor(action: "update" | "delete" | "refresh", client: import("@adonisjs/lucid/types/database").QueryClientContract): import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<import("@adonisjs/lucid/types/model").LucidModel>;
158
+ $setAttribute(key: string, value: any): void;
159
+ $getAttribute(key: string): any;
160
+ $getAttributeFromCache(key: string, callback: import("@adonisjs/lucid/types/model").CacheNode["getter"]): any;
161
+ $hasRelated(key: string): boolean;
162
+ $setRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
163
+ $pushRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
164
+ $getRelated(key: string, defaultValue?: any): import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | undefined | null;
165
+ $consumeAdapterResult(adapterResult: import("@adonisjs/lucid/types/model").ModelObject, sideloadAttributes?: import("@adonisjs/lucid/types/model").ModelObject): void;
166
+ $hydrateOriginals(): void;
167
+ fill(value: Partial<{
168
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
169
+ }>, allowExtraProperties?: boolean): /*elided*/ any;
170
+ merge(value: Partial<{
171
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
172
+ }>, allowExtraProperties?: boolean): /*elided*/ any;
173
+ isDirty(fields?: "$attachments" | ("$attachments" | undefined)[] | undefined): boolean;
174
+ enableForceUpdate(): /*elided*/ any;
175
+ save(): Promise</*elided*/ any>;
176
+ lockForUpdate<T>(callback: (user: /*elided*/ any) => T | Promise<T>): Promise<T>;
177
+ delete(): Promise<void>;
178
+ refresh(): Promise</*elided*/ any>;
179
+ load: import("@adonisjs/lucid/types/model").LucidRowPreload</*elided*/ any>;
180
+ loadOnce: import("@adonisjs/lucid/types/model").LucidRowPreloadOnce</*elided*/ any>;
181
+ preload: import("@adonisjs/lucid/types/model").LucidRowPreload</*elided*/ any>;
182
+ 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>;
183
+ 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>;
184
+ serializeAttributes(fields?: import("@adonisjs/lucid/types/model").CherryPickFields, raw?: boolean): import("@adonisjs/lucid/types/model").ModelObject;
185
+ serializeComputed(fields?: import("@adonisjs/lucid/types/model").CherryPickFields): import("@adonisjs/lucid/types/model").ModelObject;
186
+ serializeRelations(fields: undefined, raw: true): {
187
+ [key: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
188
+ };
189
+ serializeRelations(cherryPick: import("@adonisjs/lucid/types/model").CherryPick["relations"] | undefined, raw: false | undefined): import("@adonisjs/lucid/types/model").ModelObject;
190
+ serializeRelations(cherryPick?: import("@adonisjs/lucid/types/model").CherryPick["relations"], raw?: boolean): import("@adonisjs/lucid/types/model").ModelObject;
191
+ serialize(cherryPick?: import("@adonisjs/lucid/types/model").CherryPick): import("@adonisjs/lucid/types/model").ModelObject;
192
+ toObject(): import("@adonisjs/lucid/types/model").ModelObject;
193
+ toJSON(): import("@adonisjs/lucid/types/model").ModelObject;
194
+ 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;
195
+ }[]): Promise<void>;
196
+ beforeSaveHook(modelInstance: {
197
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
198
+ $attributes: import("@adonisjs/lucid/types/model").ModelObject;
199
+ $extras: import("@adonisjs/lucid/types/model").ModelObject;
200
+ $original: import("@adonisjs/lucid/types/model").ModelObject;
201
+ $preloaded: {
202
+ [relation: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
203
+ };
204
+ $columns: undefined;
205
+ $sideloaded: import("@adonisjs/lucid/types/model").ModelObject;
206
+ $primaryKeyValue?: number | string;
207
+ $isPersisted: boolean;
208
+ $isNew: boolean;
209
+ $isLocal: boolean;
210
+ $dirty: import("@adonisjs/lucid/types/model").ModelObject;
211
+ $isDirty: boolean;
212
+ $isDeleted: boolean;
213
+ $options?: import("@adonisjs/lucid/types/model").ModelOptions;
214
+ $trx?: import("@adonisjs/lucid/types/database").TransactionClientContract;
215
+ $setOptionsAndTrx(options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): void;
216
+ useTransaction(trx: import("@adonisjs/lucid/types/database").TransactionClientContract): /*elided*/ any;
217
+ useConnection(connection: string): /*elided*/ any;
218
+ $getQueryFor(action: "insert", client: import("@adonisjs/lucid/types/database").QueryClientContract): ReturnType<import("@adonisjs/lucid/types/database").QueryClientContract["insertQuery"]>;
219
+ $getQueryFor(action: "update" | "delete" | "refresh", client: import("@adonisjs/lucid/types/database").QueryClientContract): import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<import("@adonisjs/lucid/types/model").LucidModel>;
220
+ $setAttribute(key: string, value: any): void;
221
+ $getAttribute(key: string): any;
222
+ $getAttributeFromCache(key: string, callback: import("@adonisjs/lucid/types/model").CacheNode["getter"]): any;
223
+ $hasRelated(key: string): boolean;
224
+ $setRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
225
+ $pushRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
226
+ $getRelated(key: string, defaultValue?: any): import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | undefined | null;
227
+ $consumeAdapterResult(adapterResult: import("@adonisjs/lucid/types/model").ModelObject, sideloadAttributes?: import("@adonisjs/lucid/types/model").ModelObject): void;
228
+ $hydrateOriginals(): void;
229
+ fill(value: Partial<{
230
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
231
+ }>, allowExtraProperties?: boolean): /*elided*/ any;
232
+ merge(value: Partial<{
233
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
234
+ }>, allowExtraProperties?: boolean): /*elided*/ any;
235
+ isDirty(fields?: "$attachments" | ("$attachments" | undefined)[] | undefined): boolean;
236
+ enableForceUpdate(): /*elided*/ any;
237
+ save(): Promise</*elided*/ any>;
238
+ lockForUpdate<T>(callback: (user: /*elided*/ any) => T | Promise<T>): Promise<T>;
239
+ delete(): Promise<void>;
240
+ refresh(): Promise</*elided*/ any>;
241
+ load: import("@adonisjs/lucid/types/model").LucidRowPreload</*elided*/ any>;
242
+ loadOnce: import("@adonisjs/lucid/types/model").LucidRowPreloadOnce</*elided*/ any>;
243
+ preload: import("@adonisjs/lucid/types/model").LucidRowPreload</*elided*/ any>;
244
+ 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>;
245
+ 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>;
246
+ serializeAttributes(fields?: import("@adonisjs/lucid/types/model").CherryPickFields, raw?: boolean): import("@adonisjs/lucid/types/model").ModelObject;
247
+ serializeComputed(fields?: import("@adonisjs/lucid/types/model").CherryPickFields): import("@adonisjs/lucid/types/model").ModelObject;
248
+ serializeRelations(fields: undefined, raw: true): {
249
+ [key: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
250
+ };
251
+ serializeRelations(cherryPick: import("@adonisjs/lucid/types/model").CherryPick["relations"] | undefined, raw: false | undefined): import("@adonisjs/lucid/types/model").ModelObject;
252
+ serializeRelations(cherryPick?: import("@adonisjs/lucid/types/model").CherryPick["relations"], raw?: boolean): import("@adonisjs/lucid/types/model").ModelObject;
253
+ serialize(cherryPick?: import("@adonisjs/lucid/types/model").CherryPick): import("@adonisjs/lucid/types/model").ModelObject;
254
+ toObject(): import("@adonisjs/lucid/types/model").ModelObject;
255
+ toJSON(): import("@adonisjs/lucid/types/model").ModelObject;
256
+ 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;
257
+ }): Promise<void>;
258
+ afterSaveHook(modelInstance: {
259
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
260
+ $attributes: import("@adonisjs/lucid/types/model").ModelObject;
261
+ $extras: import("@adonisjs/lucid/types/model").ModelObject;
262
+ $original: import("@adonisjs/lucid/types/model").ModelObject;
263
+ $preloaded: {
264
+ [relation: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
265
+ };
266
+ $columns: undefined;
267
+ $sideloaded: import("@adonisjs/lucid/types/model").ModelObject;
268
+ $primaryKeyValue?: number | string;
269
+ $isPersisted: boolean;
270
+ $isNew: boolean;
271
+ $isLocal: boolean;
272
+ $dirty: import("@adonisjs/lucid/types/model").ModelObject;
273
+ $isDirty: boolean;
274
+ $isDeleted: boolean;
275
+ $options?: import("@adonisjs/lucid/types/model").ModelOptions;
276
+ $trx?: import("@adonisjs/lucid/types/database").TransactionClientContract;
277
+ $setOptionsAndTrx(options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): void;
278
+ useTransaction(trx: import("@adonisjs/lucid/types/database").TransactionClientContract): /*elided*/ any;
279
+ useConnection(connection: string): /*elided*/ any;
280
+ $getQueryFor(action: "insert", client: import("@adonisjs/lucid/types/database").QueryClientContract): ReturnType<import("@adonisjs/lucid/types/database").QueryClientContract["insertQuery"]>;
281
+ $getQueryFor(action: "update" | "delete" | "refresh", client: import("@adonisjs/lucid/types/database").QueryClientContract): import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<import("@adonisjs/lucid/types/model").LucidModel>;
282
+ $setAttribute(key: string, value: any): void;
283
+ $getAttribute(key: string): any;
284
+ $getAttributeFromCache(key: string, callback: import("@adonisjs/lucid/types/model").CacheNode["getter"]): any;
285
+ $hasRelated(key: string): boolean;
286
+ $setRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
287
+ $pushRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
288
+ $getRelated(key: string, defaultValue?: any): import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | undefined | null;
289
+ $consumeAdapterResult(adapterResult: import("@adonisjs/lucid/types/model").ModelObject, sideloadAttributes?: import("@adonisjs/lucid/types/model").ModelObject): void;
290
+ $hydrateOriginals(): void;
291
+ fill(value: Partial<{
292
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
293
+ }>, allowExtraProperties?: boolean): /*elided*/ any;
294
+ merge(value: Partial<{
295
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
296
+ }>, allowExtraProperties?: boolean): /*elided*/ any;
297
+ isDirty(fields?: "$attachments" | ("$attachments" | undefined)[] | undefined): boolean;
298
+ enableForceUpdate(): /*elided*/ any;
299
+ save(): Promise</*elided*/ any>;
300
+ lockForUpdate<T>(callback: (user: /*elided*/ any) => T | Promise<T>): Promise<T>;
301
+ delete(): Promise<void>;
302
+ refresh(): Promise</*elided*/ any>;
303
+ load: import("@adonisjs/lucid/types/model").LucidRowPreload</*elided*/ any>;
304
+ loadOnce: import("@adonisjs/lucid/types/model").LucidRowPreloadOnce</*elided*/ any>;
305
+ preload: import("@adonisjs/lucid/types/model").LucidRowPreload</*elided*/ any>;
306
+ 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>;
307
+ 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>;
308
+ serializeAttributes(fields?: import("@adonisjs/lucid/types/model").CherryPickFields, raw?: boolean): import("@adonisjs/lucid/types/model").ModelObject;
309
+ serializeComputed(fields?: import("@adonisjs/lucid/types/model").CherryPickFields): import("@adonisjs/lucid/types/model").ModelObject;
310
+ serializeRelations(fields: undefined, raw: true): {
311
+ [key: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
312
+ };
313
+ serializeRelations(cherryPick: import("@adonisjs/lucid/types/model").CherryPick["relations"] | undefined, raw: false | undefined): import("@adonisjs/lucid/types/model").ModelObject;
314
+ serializeRelations(cherryPick?: import("@adonisjs/lucid/types/model").CherryPick["relations"], raw?: boolean): import("@adonisjs/lucid/types/model").ModelObject;
315
+ serialize(cherryPick?: import("@adonisjs/lucid/types/model").CherryPick): import("@adonisjs/lucid/types/model").ModelObject;
316
+ toObject(): import("@adonisjs/lucid/types/model").ModelObject;
317
+ toJSON(): import("@adonisjs/lucid/types/model").ModelObject;
318
+ 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;
319
+ }): Promise<void>;
320
+ beforeDeleteHook(modelInstance: {
321
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
322
+ $attributes: import("@adonisjs/lucid/types/model").ModelObject;
323
+ $extras: import("@adonisjs/lucid/types/model").ModelObject;
324
+ $original: import("@adonisjs/lucid/types/model").ModelObject;
325
+ $preloaded: {
326
+ [relation: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
327
+ };
328
+ $columns: undefined;
329
+ $sideloaded: import("@adonisjs/lucid/types/model").ModelObject;
330
+ $primaryKeyValue?: number | string;
331
+ $isPersisted: boolean;
332
+ $isNew: boolean;
333
+ $isLocal: boolean;
334
+ $dirty: import("@adonisjs/lucid/types/model").ModelObject;
335
+ $isDirty: boolean;
336
+ $isDeleted: boolean;
337
+ $options?: import("@adonisjs/lucid/types/model").ModelOptions;
338
+ $trx?: import("@adonisjs/lucid/types/database").TransactionClientContract;
339
+ $setOptionsAndTrx(options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): void;
340
+ useTransaction(trx: import("@adonisjs/lucid/types/database").TransactionClientContract): /*elided*/ any;
341
+ useConnection(connection: string): /*elided*/ any;
342
+ $getQueryFor(action: "insert", client: import("@adonisjs/lucid/types/database").QueryClientContract): ReturnType<import("@adonisjs/lucid/types/database").QueryClientContract["insertQuery"]>;
343
+ $getQueryFor(action: "update" | "delete" | "refresh", client: import("@adonisjs/lucid/types/database").QueryClientContract): import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<import("@adonisjs/lucid/types/model").LucidModel>;
344
+ $setAttribute(key: string, value: any): void;
345
+ $getAttribute(key: string): any;
346
+ $getAttributeFromCache(key: string, callback: import("@adonisjs/lucid/types/model").CacheNode["getter"]): any;
347
+ $hasRelated(key: string): boolean;
348
+ $setRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
349
+ $pushRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
350
+ $getRelated(key: string, defaultValue?: any): import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | undefined | null;
351
+ $consumeAdapterResult(adapterResult: import("@adonisjs/lucid/types/model").ModelObject, sideloadAttributes?: import("@adonisjs/lucid/types/model").ModelObject): void;
352
+ $hydrateOriginals(): void;
353
+ fill(value: Partial<{
354
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
355
+ }>, allowExtraProperties?: boolean): /*elided*/ any;
356
+ merge(value: Partial<{
357
+ $attachments: import("../../../src/types/mixin.js").AttributeOfModelWithAttachment;
358
+ }>, allowExtraProperties?: boolean): /*elided*/ any;
359
+ isDirty(fields?: "$attachments" | ("$attachments" | undefined)[] | undefined): boolean;
360
+ enableForceUpdate(): /*elided*/ any;
361
+ save(): Promise</*elided*/ any>;
362
+ lockForUpdate<T>(callback: (user: /*elided*/ any) => T | Promise<T>): Promise<T>;
363
+ delete(): Promise<void>;
364
+ refresh(): Promise</*elided*/ any>;
365
+ load: import("@adonisjs/lucid/types/model").LucidRowPreload</*elided*/ any>;
366
+ loadOnce: import("@adonisjs/lucid/types/model").LucidRowPreloadOnce</*elided*/ any>;
367
+ preload: import("@adonisjs/lucid/types/model").LucidRowPreload</*elided*/ any>;
368
+ 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>;
369
+ 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>;
370
+ serializeAttributes(fields?: import("@adonisjs/lucid/types/model").CherryPickFields, raw?: boolean): import("@adonisjs/lucid/types/model").ModelObject;
371
+ serializeComputed(fields?: import("@adonisjs/lucid/types/model").CherryPickFields): import("@adonisjs/lucid/types/model").ModelObject;
372
+ serializeRelations(fields: undefined, raw: true): {
373
+ [key: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
374
+ };
375
+ serializeRelations(cherryPick: import("@adonisjs/lucid/types/model").CherryPick["relations"] | undefined, raw: false | undefined): import("@adonisjs/lucid/types/model").ModelObject;
376
+ serializeRelations(cherryPick?: import("@adonisjs/lucid/types/model").CherryPick["relations"], raw?: boolean): import("@adonisjs/lucid/types/model").ModelObject;
377
+ serialize(cherryPick?: import("@adonisjs/lucid/types/model").CherryPick): import("@adonisjs/lucid/types/model").ModelObject;
378
+ toObject(): import("@adonisjs/lucid/types/model").ModelObject;
379
+ toJSON(): import("@adonisjs/lucid/types/model").ModelObject;
380
+ 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;
381
+ }): Promise<void>;
382
+ find: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T>>;
383
+ readonly booted: boolean;
384
+ $columnsDefinitions: Map<string, import("@adonisjs/lucid/types/model").ModelColumnOptions>;
385
+ $relationsDefinitions: Map<string, import("@adonisjs/lucid/types/relations").RelationshipsContract>;
386
+ $computedDefinitions: Map<string, import("@adonisjs/lucid/types/model").ComputedOptions>;
387
+ primaryKey: string;
388
+ connection?: string | undefined;
389
+ namingStrategy: import("@adonisjs/lucid/types/model").NamingStrategyContract;
390
+ table: string;
391
+ selfAssignPrimaryKey: boolean;
392
+ $adapter: import("@adonisjs/lucid/types/model").AdapterContract;
393
+ useAdapter: (adapter: import("@adonisjs/lucid/types/model").AdapterContract) => void;
394
+ $hooks: import("@poppinss/hooks").default<any>;
395
+ $keys: {
396
+ attributesToColumns: import("@adonisjs/lucid/types/model").ModelKeysContract;
397
+ attributesToSerialized: import("@adonisjs/lucid/types/model").ModelKeysContract;
398
+ columnsToAttributes: import("@adonisjs/lucid/types/model").ModelKeysContract;
399
+ columnsToSerialized: import("@adonisjs/lucid/types/model").ModelKeysContract;
400
+ serializedToColumns: import("@adonisjs/lucid/types/model").ModelKeysContract;
401
+ serializedToAttributes: import("@adonisjs/lucid/types/model").ModelKeysContract;
402
+ };
403
+ $createFromAdapterResult: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, result?: import("@adonisjs/lucid/types/model").ModelObject, sideloadAttributes?: import("@adonisjs/lucid/types/model").ModelObject, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => null | InstanceType<T>;
404
+ $createMultipleFromAdapterResult: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, results: import("@adonisjs/lucid/types/model").ModelObject[], sideloadAttributes?: import("@adonisjs/lucid/types/model").ModelObject, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => InstanceType<T>[];
405
+ $addColumn: (name: string, options: Partial<import("@adonisjs/lucid/types/model").ColumnOptions>) => import("@adonisjs/lucid/types/model").ColumnOptions;
406
+ $hasColumn: (name: string) => boolean;
407
+ $getColumn: (name: string) => import("@adonisjs/lucid/types/model").ModelColumnOptions | undefined;
408
+ $addComputed: (name: string, options: Partial<import("@adonisjs/lucid/types/model").ComputedOptions>) => import("@adonisjs/lucid/types/model").ComputedOptions;
409
+ $hasComputed: (name: string) => boolean;
410
+ $getComputed: (name: string) => import("@adonisjs/lucid/types/model").ComputedOptions | undefined;
411
+ $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;
412
+ $hasRelation: (name: string) => boolean;
413
+ $getRelation: {
414
+ <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;
415
+ <Model extends import("@adonisjs/lucid/types/model").LucidModel>(this: Model, name: string): import("@adonisjs/lucid/types/relations").RelationshipsContract;
416
+ };
417
+ $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;
418
+ boot: () => void;
419
+ before: {
420
+ <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;
421
+ <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;
422
+ <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;
423
+ };
424
+ after: {
425
+ <Model extends import("@adonisjs/lucid/types/model").LucidModel>(this: Model, event: "fetch", handler: import("@adonisjs/lucid/types/model").HooksHandler<InstanceType<Model>[], "fetch">): void;
426
+ <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;
427
+ <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;
428
+ };
429
+ create: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, values: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>>;
430
+ createMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, values: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
431
+ findOrFail: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>>;
432
+ findBy: {
433
+ <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, clause: Record<string, unknown>, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<null | InstanceType<T>>;
434
+ <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, key: string, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<null | InstanceType<T>>;
435
+ };
436
+ findByOrFail: {
437
+ <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, clause: Record<string, unknown>, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T>>;
438
+ <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, key: string, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T>>;
439
+ };
440
+ findManyBy: {
441
+ <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, clause: Record<string, unknown>, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T>[]>;
442
+ <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, key: string, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T>[]>;
443
+ };
444
+ first: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T>>;
445
+ firstOrFail: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>>;
446
+ findMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, value: any[], options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>[]>;
447
+ firstOrNew: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, searchPayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>, savePayload?: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>>;
448
+ firstOrCreate: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, searchPayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>, savePayload?: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>>;
449
+ updateOrCreate: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, searchPayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>, updatePayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>>;
450
+ fetchOrNewUpMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
451
+ fetchOrCreateMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
452
+ updateOrCreateMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
453
+ all: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>[]>;
454
+ 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>;
455
+ transaction: import("@adonisjs/lucid/types/database").TransactionFn;
456
+ truncate: (cascade?: boolean) => Promise<void>;
457
+ } & import("@adonisjs/lucid/types/model").LucidModel;
458
+ export default class User extends User_base {
459
+ id: string;
460
+ name: string;
461
+ avatar: Attachment | null;
462
+ avatar2: Attachment | null;
463
+ createdAt: DateTime;
464
+ updatedAt: DateTime | null;
465
+ }
466
+ export {};
@@ -0,0 +1,36 @@
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 { compose } from '@adonisjs/core/helpers';
14
+ import { BaseModel, column } from '@adonisjs/lucid/orm';
15
+ import { attachment } from '../../../index.js';
16
+ import { Attachmentable } from '../../../src/mixins/attachmentable.js';
17
+ export default class User extends compose(BaseModel, Attachmentable) {
18
+ }
19
+ __decorate([
20
+ column({ isPrimary: true })
21
+ ], User.prototype, "id", void 0);
22
+ __decorate([
23
+ column()
24
+ ], User.prototype, "name", void 0);
25
+ __decorate([
26
+ attachment()
27
+ ], User.prototype, "avatar", void 0);
28
+ __decorate([
29
+ attachment({ disk: 's3', folder: 'avatar', preComputeUrl: true, meta: false, rename: false })
30
+ ], User.prototype, "avatar2", void 0);
31
+ __decorate([
32
+ column.dateTime({ autoCreate: true, serialize: (value) => value.toUnixInteger() })
33
+ ], User.prototype, "createdAt", void 0);
34
+ __decorate([
35
+ column.dateTime({ autoCreate: true, autoUpdate: true })
36
+ ], User.prototype, "updatedAt", void 0);