@earbug/db-models 0.0.1

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 (211) hide show
  1. package/.nvmrc +1 -0
  2. package/dist/AppUser.d.ts +161 -0
  3. package/dist/AppUser.js +121 -0
  4. package/dist/AppUserDevice.d.ts +26 -0
  5. package/dist/AppUserDevice.js +88 -0
  6. package/dist/AppUserFollowRelation.d.ts +34 -0
  7. package/dist/AppUserFollowRelation.js +113 -0
  8. package/dist/AppUserPlatformRelation.d.ts +43 -0
  9. package/dist/AppUserPlatformRelation.js +132 -0
  10. package/dist/CanonAlbum.d.ts +119 -0
  11. package/dist/CanonAlbum.js +117 -0
  12. package/dist/CanonAlbumExternalReferenceRelation.d.ts +31 -0
  13. package/dist/CanonAlbumExternalReferenceRelation.js +86 -0
  14. package/dist/CanonAlbumGenreRelation.d.ts +29 -0
  15. package/dist/CanonAlbumGenreRelation.js +82 -0
  16. package/dist/CanonAlbumImageHarvested.d.ts +30 -0
  17. package/dist/CanonAlbumImageHarvested.js +78 -0
  18. package/dist/CanonAlbumLabelRelation.d.ts +29 -0
  19. package/dist/CanonAlbumLabelRelation.js +82 -0
  20. package/dist/CanonAlbumTrackRelation.d.ts +29 -0
  21. package/dist/CanonAlbumTrackRelation.js +82 -0
  22. package/dist/CanonArtist.d.ts +91 -0
  23. package/dist/CanonArtist.js +114 -0
  24. package/dist/CanonArtistAlbumRelation.d.ts +29 -0
  25. package/dist/CanonArtistAlbumRelation.js +82 -0
  26. package/dist/CanonArtistExternalReferenceRelation.d.ts +31 -0
  27. package/dist/CanonArtistExternalReferenceRelation.js +86 -0
  28. package/dist/CanonArtistGenreRelation.d.ts +29 -0
  29. package/dist/CanonArtistGenreRelation.js +82 -0
  30. package/dist/CanonArtistImageHarvested.d.ts +30 -0
  31. package/dist/CanonArtistImageHarvested.js +70 -0
  32. package/dist/CanonArtistMemberRelation.d.ts +29 -0
  33. package/dist/CanonArtistMemberRelation.js +82 -0
  34. package/dist/CanonArtistTrackRelation.d.ts +29 -0
  35. package/dist/CanonArtistTrackRelation.js +82 -0
  36. package/dist/CanonGenre.d.ts +133 -0
  37. package/dist/CanonGenre.js +93 -0
  38. package/dist/CanonGenreExternalReferenceRelation.d.ts +31 -0
  39. package/dist/CanonGenreExternalReferenceRelation.js +86 -0
  40. package/dist/CanonLabel.d.ts +69 -0
  41. package/dist/CanonLabel.js +83 -0
  42. package/dist/CanonLabelExternalReferenceRelation.d.ts +31 -0
  43. package/dist/CanonLabelExternalReferenceRelation.js +86 -0
  44. package/dist/CanonMember.d.ts +71 -0
  45. package/dist/CanonMember.js +82 -0
  46. package/dist/CanonMemberExternalReferenceRelation.d.ts +33 -0
  47. package/dist/CanonMemberExternalReferenceRelation.js +91 -0
  48. package/dist/CanonToPlatformAlbumRelation.d.ts +29 -0
  49. package/dist/CanonToPlatformAlbumRelation.js +82 -0
  50. package/dist/CanonToPlatformArtistRelation.d.ts +29 -0
  51. package/dist/CanonToPlatformArtistRelation.js +82 -0
  52. package/dist/CanonToPlatformGenreRelation.d.ts +29 -0
  53. package/dist/CanonToPlatformGenreRelation.js +82 -0
  54. package/dist/CanonToPlatformTrackRelation.d.ts +29 -0
  55. package/dist/CanonToPlatformTrackRelation.js +82 -0
  56. package/dist/CanonTrack.d.ts +89 -0
  57. package/dist/CanonTrack.js +99 -0
  58. package/dist/ConfigParam.d.ts +19 -0
  59. package/dist/ConfigParam.js +70 -0
  60. package/dist/ExternalReference.d.ts +139 -0
  61. package/dist/ExternalReference.js +79 -0
  62. package/dist/JukeboxAccessType.d.ts +26 -0
  63. package/dist/JukeboxAccessType.js +36 -0
  64. package/dist/JukeboxCanonGenreRelation.d.ts +33 -0
  65. package/dist/JukeboxCanonGenreRelation.js +101 -0
  66. package/dist/JukeboxInvite.d.ts +39 -0
  67. package/dist/JukeboxInvite.js +98 -0
  68. package/dist/JukeboxQueueEntry.d.ts +74 -0
  69. package/dist/JukeboxQueueEntry.js +142 -0
  70. package/dist/JukeboxQueueMode.d.ts +26 -0
  71. package/dist/JukeboxQueueMode.js +36 -0
  72. package/dist/JukeboxSession.d.ts +108 -0
  73. package/dist/JukeboxSession.js +133 -0
  74. package/dist/JukeboxStatus.d.ts +26 -0
  75. package/dist/JukeboxStatus.js +34 -0
  76. package/dist/JukeboxTerminationCondition.d.ts +26 -0
  77. package/dist/JukeboxTerminationCondition.js +36 -0
  78. package/dist/JukeboxType.d.ts +26 -0
  79. package/dist/JukeboxType.js +36 -0
  80. package/dist/JukeboxUser.d.ts +56 -0
  81. package/dist/JukeboxUser.js +135 -0
  82. package/dist/JukeboxUserType.d.ts +26 -0
  83. package/dist/JukeboxUserType.js +34 -0
  84. package/dist/KnexMigrations.d.ts +19 -0
  85. package/dist/KnexMigrations.js +44 -0
  86. package/dist/KnexMigrationsLock.d.ts +15 -0
  87. package/dist/KnexMigrationsLock.js +36 -0
  88. package/dist/MetricsDaily.d.ts +19 -0
  89. package/dist/MetricsDaily.js +87 -0
  90. package/dist/MetricsEvent.d.ts +23 -0
  91. package/dist/MetricsEvent.js +117 -0
  92. package/dist/NewsSite.d.ts +21 -0
  93. package/dist/NewsSite.js +57 -0
  94. package/dist/PauseStatusType.d.ts +26 -0
  95. package/dist/PauseStatusType.js +34 -0
  96. package/dist/Platform.d.ts +127 -0
  97. package/dist/Platform.js +80 -0
  98. package/dist/PlatformAlbum.d.ts +232 -0
  99. package/dist/PlatformAlbum.js +123 -0
  100. package/dist/PlatformAlbumGenreRelation.d.ts +29 -0
  101. package/dist/PlatformAlbumGenreRelation.js +82 -0
  102. package/dist/PlatformAlbumTrackRelation.d.ts +29 -0
  103. package/dist/PlatformAlbumTrackRelation.js +82 -0
  104. package/dist/PlatformArtist.d.ts +225 -0
  105. package/dist/PlatformArtist.js +109 -0
  106. package/dist/PlatformArtistAlbumRelation.d.ts +29 -0
  107. package/dist/PlatformArtistAlbumRelation.js +82 -0
  108. package/dist/PlatformArtistGenreRelation.d.ts +29 -0
  109. package/dist/PlatformArtistGenreRelation.js +82 -0
  110. package/dist/PlatformArtistTrackRelation.d.ts +29 -0
  111. package/dist/PlatformArtistTrackRelation.js +82 -0
  112. package/dist/PlatformGenre.d.ts +122 -0
  113. package/dist/PlatformGenre.js +90 -0
  114. package/dist/PlatformTrack.d.ts +183 -0
  115. package/dist/PlatformTrack.js +129 -0
  116. package/dist/PlatformTrackGenreRelation.d.ts +29 -0
  117. package/dist/PlatformTrackGenreRelation.js +82 -0
  118. package/dist/PlatformUserAlbum.d.ts +54 -0
  119. package/dist/PlatformUserAlbum.js +121 -0
  120. package/dist/PlatformUserAlbumTrack.d.ts +42 -0
  121. package/dist/PlatformUserAlbumTrack.js +121 -0
  122. package/dist/PlatformUserPlaylist.d.ts +62 -0
  123. package/dist/PlatformUserPlaylist.js +135 -0
  124. package/dist/PlatformUserPlaylistTrack.d.ts +48 -0
  125. package/dist/PlatformUserPlaylistTrack.js +132 -0
  126. package/dist/PlaybackStatus.d.ts +26 -0
  127. package/dist/PlaybackStatus.js +36 -0
  128. package/dist/State.d.ts +50 -0
  129. package/dist/State.js +36 -0
  130. package/dist/TrackDeletionReason.d.ts +26 -0
  131. package/dist/TrackDeletionReason.js +34 -0
  132. package/dist/UnmatchedAlbum.d.ts +22 -0
  133. package/dist/UnmatchedAlbum.js +70 -0
  134. package/dist/UnmatchedArtist.d.ts +26 -0
  135. package/dist/UnmatchedArtist.js +81 -0
  136. package/dist/UserContacts.d.ts +46 -0
  137. package/dist/UserContacts.js +105 -0
  138. package/dist/init-models.d.ts +209 -0
  139. package/dist/init-models.js +507 -0
  140. package/model_options.json +3 -0
  141. package/models/AppUser.ts +267 -0
  142. package/models/AppUserDevice.ts +88 -0
  143. package/models/AppUserFollowRelation.ts +122 -0
  144. package/models/AppUserPlatformRelation.ts +150 -0
  145. package/models/CanonAlbum.ts +216 -0
  146. package/models/CanonAlbumExternalReferenceRelation.ts +92 -0
  147. package/models/CanonAlbumGenreRelation.ts +86 -0
  148. package/models/CanonAlbumImageHarvested.ts +106 -0
  149. package/models/CanonAlbumLabelRelation.ts +86 -0
  150. package/models/CanonAlbumTrackRelation.ts +86 -0
  151. package/models/CanonArtist.ts +183 -0
  152. package/models/CanonArtistAlbumRelation.ts +86 -0
  153. package/models/CanonArtistExternalReferenceRelation.ts +92 -0
  154. package/models/CanonArtistGenreRelation.ts +86 -0
  155. package/models/CanonArtistImageHarvested.ts +98 -0
  156. package/models/CanonArtistMemberRelation.ts +86 -0
  157. package/models/CanonArtistTrackRelation.ts +86 -0
  158. package/models/CanonGenre.ts +208 -0
  159. package/models/CanonGenreExternalReferenceRelation.ts +92 -0
  160. package/models/CanonLabel.ts +129 -0
  161. package/models/CanonLabelExternalReferenceRelation.ts +92 -0
  162. package/models/CanonMember.ts +130 -0
  163. package/models/CanonMemberExternalReferenceRelation.ts +99 -0
  164. package/models/CanonToPlatformAlbumRelation.ts +86 -0
  165. package/models/CanonToPlatformArtistRelation.ts +86 -0
  166. package/models/CanonToPlatformGenreRelation.ts +86 -0
  167. package/models/CanonToPlatformTrackRelation.ts +86 -0
  168. package/models/CanonTrack.ts +167 -0
  169. package/models/ConfigParam.ts +62 -0
  170. package/models/ExternalReference.ts +201 -0
  171. package/models/JukeboxAccessType.ts +60 -0
  172. package/models/JukeboxCanonGenreRelation.ts +109 -0
  173. package/models/JukeboxInvite.ts +113 -0
  174. package/models/JukeboxQueueEntry.ts +195 -0
  175. package/models/JukeboxQueueMode.ts +60 -0
  176. package/models/JukeboxSession.ts +223 -0
  177. package/models/JukeboxStatus.ts +58 -0
  178. package/models/JukeboxTerminationCondition.ts +60 -0
  179. package/models/JukeboxType.ts +60 -0
  180. package/models/JukeboxUser.ts +169 -0
  181. package/models/JukeboxUserType.ts +58 -0
  182. package/models/KnexMigrations.ts +60 -0
  183. package/models/KnexMigrationsLock.ts +48 -0
  184. package/models/MetricsDaily.ts +79 -0
  185. package/models/MetricsEvent.ts +114 -0
  186. package/models/NewsSite.ts +75 -0
  187. package/models/PauseStatusType.ts +58 -0
  188. package/models/Platform.ts +189 -0
  189. package/models/PlatformAlbum.ts +345 -0
  190. package/models/PlatformAlbumGenreRelation.ts +86 -0
  191. package/models/PlatformAlbumTrackRelation.ts +86 -0
  192. package/models/PlatformArtist.ts +324 -0
  193. package/models/PlatformArtistAlbumRelation.ts +86 -0
  194. package/models/PlatformArtistGenreRelation.ts +86 -0
  195. package/models/PlatformArtistTrackRelation.ts +86 -0
  196. package/models/PlatformGenre.ts +194 -0
  197. package/models/PlatformTrack.ts +298 -0
  198. package/models/PlatformTrackGenreRelation.ts +86 -0
  199. package/models/PlatformUserAlbum.ts +152 -0
  200. package/models/PlatformUserAlbumTrack.ts +139 -0
  201. package/models/PlatformUserPlaylist.ts +174 -0
  202. package/models/PlatformUserPlaylistTrack.ts +156 -0
  203. package/models/PlaybackStatus.ts +60 -0
  204. package/models/State.ts +86 -0
  205. package/models/TrackDeletionReason.ts +58 -0
  206. package/models/UnmatchedAlbum.ts +66 -0
  207. package/models/UnmatchedArtist.ts +81 -0
  208. package/models/UserContacts.ts +149 -0
  209. package/models/init-models.ts +716 -0
  210. package/package.json +19 -0
  211. package/tsconfig.json +52 -0
@@ -0,0 +1,216 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonAlbumExternalReferenceRelation, CanonAlbumExternalReferenceRelationId } from './CanonAlbumExternalReferenceRelation';
4
+ import type { CanonAlbumImageHarvested, CanonAlbumImageHarvestedId } from './CanonAlbumImageHarvested';
5
+ import type { CanonAlbumTrackRelation, CanonAlbumTrackRelationId } from './CanonAlbumTrackRelation';
6
+ import type { CanonToPlatformAlbumRelation, CanonToPlatformAlbumRelationId } from './CanonToPlatformAlbumRelation';
7
+ import type { CanonTrack, CanonTrackId } from './CanonTrack';
8
+ import type { ExternalReference, ExternalReferenceId } from './ExternalReference';
9
+ import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
10
+
11
+ export interface CanonAlbumAttributes {
12
+ id: string;
13
+ name: string;
14
+ asciiName: string;
15
+ releaseDate?: string;
16
+ noOfDisc?: number;
17
+ createDate: Date;
18
+ updateDate: Date;
19
+ hasPhoto?: boolean;
20
+ hasThumbnailPhoto?: boolean;
21
+ description?: string;
22
+ images?: object;
23
+ lastImageHarvestAttempt?: Date;
24
+ }
25
+
26
+ export type CanonAlbumPk = "id";
27
+ export type CanonAlbumId = CanonAlbum[CanonAlbumPk];
28
+ export type CanonAlbumOptionalAttributes = "id" | "releaseDate" | "noOfDisc" | "createDate" | "updateDate" | "hasPhoto" | "hasThumbnailPhoto" | "description" | "images" | "lastImageHarvestAttempt";
29
+ export type CanonAlbumCreationAttributes = Optional<CanonAlbumAttributes, CanonAlbumOptionalAttributes>;
30
+
31
+ export class CanonAlbum extends Model<CanonAlbumAttributes, CanonAlbumCreationAttributes> implements CanonAlbumAttributes {
32
+ id!: string;
33
+ name!: string;
34
+ asciiName!: string;
35
+ releaseDate?: string;
36
+ noOfDisc?: number;
37
+ createDate!: Date;
38
+ updateDate!: Date;
39
+ hasPhoto?: boolean;
40
+ hasThumbnailPhoto?: boolean;
41
+ description?: string;
42
+ images?: object;
43
+ lastImageHarvestAttempt?: Date;
44
+
45
+ // CanonAlbum hasMany CanonAlbumExternalReferenceRelation via canonAlbumId
46
+ canonAlbumExternalReferenceRelations!: CanonAlbumExternalReferenceRelation[];
47
+ getCanonAlbumExternalReferenceRelations!: Sequelize.HasManyGetAssociationsMixin<CanonAlbumExternalReferenceRelation>;
48
+ setCanonAlbumExternalReferenceRelations!: Sequelize.HasManySetAssociationsMixin<CanonAlbumExternalReferenceRelation, CanonAlbumExternalReferenceRelationId>;
49
+ addCanonAlbumExternalReferenceRelation!: Sequelize.HasManyAddAssociationMixin<CanonAlbumExternalReferenceRelation, CanonAlbumExternalReferenceRelationId>;
50
+ addCanonAlbumExternalReferenceRelations!: Sequelize.HasManyAddAssociationsMixin<CanonAlbumExternalReferenceRelation, CanonAlbumExternalReferenceRelationId>;
51
+ createCanonAlbumExternalReferenceRelation!: Sequelize.HasManyCreateAssociationMixin<CanonAlbumExternalReferenceRelation>;
52
+ removeCanonAlbumExternalReferenceRelation!: Sequelize.HasManyRemoveAssociationMixin<CanonAlbumExternalReferenceRelation, CanonAlbumExternalReferenceRelationId>;
53
+ removeCanonAlbumExternalReferenceRelations!: Sequelize.HasManyRemoveAssociationsMixin<CanonAlbumExternalReferenceRelation, CanonAlbumExternalReferenceRelationId>;
54
+ hasCanonAlbumExternalReferenceRelation!: Sequelize.HasManyHasAssociationMixin<CanonAlbumExternalReferenceRelation, CanonAlbumExternalReferenceRelationId>;
55
+ hasCanonAlbumExternalReferenceRelations!: Sequelize.HasManyHasAssociationsMixin<CanonAlbumExternalReferenceRelation, CanonAlbumExternalReferenceRelationId>;
56
+ countCanonAlbumExternalReferenceRelations!: Sequelize.HasManyCountAssociationsMixin;
57
+ // CanonAlbum hasMany CanonAlbumImageHarvested via canonAlbumId
58
+ canonAlbumImageHarvesteds!: CanonAlbumImageHarvested[];
59
+ getCanonAlbumImageHarvesteds!: Sequelize.HasManyGetAssociationsMixin<CanonAlbumImageHarvested>;
60
+ setCanonAlbumImageHarvesteds!: Sequelize.HasManySetAssociationsMixin<CanonAlbumImageHarvested, CanonAlbumImageHarvestedId>;
61
+ addCanonAlbumImageHarvested!: Sequelize.HasManyAddAssociationMixin<CanonAlbumImageHarvested, CanonAlbumImageHarvestedId>;
62
+ addCanonAlbumImageHarvesteds!: Sequelize.HasManyAddAssociationsMixin<CanonAlbumImageHarvested, CanonAlbumImageHarvestedId>;
63
+ createCanonAlbumImageHarvested!: Sequelize.HasManyCreateAssociationMixin<CanonAlbumImageHarvested>;
64
+ removeCanonAlbumImageHarvested!: Sequelize.HasManyRemoveAssociationMixin<CanonAlbumImageHarvested, CanonAlbumImageHarvestedId>;
65
+ removeCanonAlbumImageHarvesteds!: Sequelize.HasManyRemoveAssociationsMixin<CanonAlbumImageHarvested, CanonAlbumImageHarvestedId>;
66
+ hasCanonAlbumImageHarvested!: Sequelize.HasManyHasAssociationMixin<CanonAlbumImageHarvested, CanonAlbumImageHarvestedId>;
67
+ hasCanonAlbumImageHarvesteds!: Sequelize.HasManyHasAssociationsMixin<CanonAlbumImageHarvested, CanonAlbumImageHarvestedId>;
68
+ countCanonAlbumImageHarvesteds!: Sequelize.HasManyCountAssociationsMixin;
69
+ // CanonAlbum hasMany CanonAlbumTrackRelation via canonAlbumId
70
+ canonAlbumTrackRelations!: CanonAlbumTrackRelation[];
71
+ getCanonAlbumTrackRelations!: Sequelize.HasManyGetAssociationsMixin<CanonAlbumTrackRelation>;
72
+ setCanonAlbumTrackRelations!: Sequelize.HasManySetAssociationsMixin<CanonAlbumTrackRelation, CanonAlbumTrackRelationId>;
73
+ addCanonAlbumTrackRelation!: Sequelize.HasManyAddAssociationMixin<CanonAlbumTrackRelation, CanonAlbumTrackRelationId>;
74
+ addCanonAlbumTrackRelations!: Sequelize.HasManyAddAssociationsMixin<CanonAlbumTrackRelation, CanonAlbumTrackRelationId>;
75
+ createCanonAlbumTrackRelation!: Sequelize.HasManyCreateAssociationMixin<CanonAlbumTrackRelation>;
76
+ removeCanonAlbumTrackRelation!: Sequelize.HasManyRemoveAssociationMixin<CanonAlbumTrackRelation, CanonAlbumTrackRelationId>;
77
+ removeCanonAlbumTrackRelations!: Sequelize.HasManyRemoveAssociationsMixin<CanonAlbumTrackRelation, CanonAlbumTrackRelationId>;
78
+ hasCanonAlbumTrackRelation!: Sequelize.HasManyHasAssociationMixin<CanonAlbumTrackRelation, CanonAlbumTrackRelationId>;
79
+ hasCanonAlbumTrackRelations!: Sequelize.HasManyHasAssociationsMixin<CanonAlbumTrackRelation, CanonAlbumTrackRelationId>;
80
+ countCanonAlbumTrackRelations!: Sequelize.HasManyCountAssociationsMixin;
81
+ // CanonAlbum hasMany CanonToPlatformAlbumRelation via canonAlbumId
82
+ canonToPlatformAlbumRelations!: CanonToPlatformAlbumRelation[];
83
+ getCanonToPlatformAlbumRelations!: Sequelize.HasManyGetAssociationsMixin<CanonToPlatformAlbumRelation>;
84
+ setCanonToPlatformAlbumRelations!: Sequelize.HasManySetAssociationsMixin<CanonToPlatformAlbumRelation, CanonToPlatformAlbumRelationId>;
85
+ addCanonToPlatformAlbumRelation!: Sequelize.HasManyAddAssociationMixin<CanonToPlatformAlbumRelation, CanonToPlatformAlbumRelationId>;
86
+ addCanonToPlatformAlbumRelations!: Sequelize.HasManyAddAssociationsMixin<CanonToPlatformAlbumRelation, CanonToPlatformAlbumRelationId>;
87
+ createCanonToPlatformAlbumRelation!: Sequelize.HasManyCreateAssociationMixin<CanonToPlatformAlbumRelation>;
88
+ removeCanonToPlatformAlbumRelation!: Sequelize.HasManyRemoveAssociationMixin<CanonToPlatformAlbumRelation, CanonToPlatformAlbumRelationId>;
89
+ removeCanonToPlatformAlbumRelations!: Sequelize.HasManyRemoveAssociationsMixin<CanonToPlatformAlbumRelation, CanonToPlatformAlbumRelationId>;
90
+ hasCanonToPlatformAlbumRelation!: Sequelize.HasManyHasAssociationMixin<CanonToPlatformAlbumRelation, CanonToPlatformAlbumRelationId>;
91
+ hasCanonToPlatformAlbumRelations!: Sequelize.HasManyHasAssociationsMixin<CanonToPlatformAlbumRelation, CanonToPlatformAlbumRelationId>;
92
+ countCanonToPlatformAlbumRelations!: Sequelize.HasManyCountAssociationsMixin;
93
+ // CanonAlbum belongsToMany CanonTrack via canonAlbumId and canonTrackId
94
+ canonTrackIdCanonTracks!: CanonTrack[];
95
+ getCanonTrackIdCanonTracks!: Sequelize.BelongsToManyGetAssociationsMixin<CanonTrack>;
96
+ setCanonTrackIdCanonTracks!: Sequelize.BelongsToManySetAssociationsMixin<CanonTrack, CanonTrackId>;
97
+ addCanonTrackIdCanonTrack!: Sequelize.BelongsToManyAddAssociationMixin<CanonTrack, CanonTrackId>;
98
+ addCanonTrackIdCanonTracks!: Sequelize.BelongsToManyAddAssociationsMixin<CanonTrack, CanonTrackId>;
99
+ createCanonTrackIdCanonTrack!: Sequelize.BelongsToManyCreateAssociationMixin<CanonTrack>;
100
+ removeCanonTrackIdCanonTrack!: Sequelize.BelongsToManyRemoveAssociationMixin<CanonTrack, CanonTrackId>;
101
+ removeCanonTrackIdCanonTracks!: Sequelize.BelongsToManyRemoveAssociationsMixin<CanonTrack, CanonTrackId>;
102
+ hasCanonTrackIdCanonTrack!: Sequelize.BelongsToManyHasAssociationMixin<CanonTrack, CanonTrackId>;
103
+ hasCanonTrackIdCanonTracks!: Sequelize.BelongsToManyHasAssociationsMixin<CanonTrack, CanonTrackId>;
104
+ countCanonTrackIdCanonTracks!: Sequelize.BelongsToManyCountAssociationsMixin;
105
+ // CanonAlbum belongsToMany ExternalReference via canonAlbumId and externalReferenceId
106
+ externalReferenceIdExternalReferences!: ExternalReference[];
107
+ getExternalReferenceIdExternalReferences!: Sequelize.BelongsToManyGetAssociationsMixin<ExternalReference>;
108
+ setExternalReferenceIdExternalReferences!: Sequelize.BelongsToManySetAssociationsMixin<ExternalReference, ExternalReferenceId>;
109
+ addExternalReferenceIdExternalReference!: Sequelize.BelongsToManyAddAssociationMixin<ExternalReference, ExternalReferenceId>;
110
+ addExternalReferenceIdExternalReferences!: Sequelize.BelongsToManyAddAssociationsMixin<ExternalReference, ExternalReferenceId>;
111
+ createExternalReferenceIdExternalReference!: Sequelize.BelongsToManyCreateAssociationMixin<ExternalReference>;
112
+ removeExternalReferenceIdExternalReference!: Sequelize.BelongsToManyRemoveAssociationMixin<ExternalReference, ExternalReferenceId>;
113
+ removeExternalReferenceIdExternalReferences!: Sequelize.BelongsToManyRemoveAssociationsMixin<ExternalReference, ExternalReferenceId>;
114
+ hasExternalReferenceIdExternalReference!: Sequelize.BelongsToManyHasAssociationMixin<ExternalReference, ExternalReferenceId>;
115
+ hasExternalReferenceIdExternalReferences!: Sequelize.BelongsToManyHasAssociationsMixin<ExternalReference, ExternalReferenceId>;
116
+ countExternalReferenceIdExternalReferences!: Sequelize.BelongsToManyCountAssociationsMixin;
117
+ // CanonAlbum belongsToMany PlatformAlbum via canonAlbumId and platformAlbumId
118
+ platformAlbumIdPlatformAlbums!: PlatformAlbum[];
119
+ getPlatformAlbumIdPlatformAlbums!: Sequelize.BelongsToManyGetAssociationsMixin<PlatformAlbum>;
120
+ setPlatformAlbumIdPlatformAlbums!: Sequelize.BelongsToManySetAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
121
+ addPlatformAlbumIdPlatformAlbum!: Sequelize.BelongsToManyAddAssociationMixin<PlatformAlbum, PlatformAlbumId>;
122
+ addPlatformAlbumIdPlatformAlbums!: Sequelize.BelongsToManyAddAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
123
+ createPlatformAlbumIdPlatformAlbum!: Sequelize.BelongsToManyCreateAssociationMixin<PlatformAlbum>;
124
+ removePlatformAlbumIdPlatformAlbum!: Sequelize.BelongsToManyRemoveAssociationMixin<PlatformAlbum, PlatformAlbumId>;
125
+ removePlatformAlbumIdPlatformAlbums!: Sequelize.BelongsToManyRemoveAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
126
+ hasPlatformAlbumIdPlatformAlbum!: Sequelize.BelongsToManyHasAssociationMixin<PlatformAlbum, PlatformAlbumId>;
127
+ hasPlatformAlbumIdPlatformAlbums!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
128
+ countPlatformAlbumIdPlatformAlbums!: Sequelize.BelongsToManyCountAssociationsMixin;
129
+
130
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonAlbum {
131
+ return CanonAlbum.init({
132
+ id: {
133
+ type: DataTypes.UUID,
134
+ allowNull: false,
135
+ defaultValue: Sequelize.Sequelize.fn('uuid_generate_v1'),
136
+ primaryKey: true
137
+ },
138
+ name: {
139
+ type: DataTypes.TEXT,
140
+ allowNull: false
141
+ },
142
+ asciiName: {
143
+ type: DataTypes.TEXT,
144
+ allowNull: false,
145
+ field: 'ascii_name'
146
+ },
147
+ releaseDate: {
148
+ type: DataTypes.TEXT,
149
+ allowNull: true,
150
+ field: 'release_date'
151
+ },
152
+ noOfDisc: {
153
+ type: DataTypes.SMALLINT,
154
+ allowNull: true,
155
+ field: 'no_of_disc'
156
+ },
157
+ createDate: {
158
+ type: DataTypes.DATE,
159
+ allowNull: false,
160
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
161
+ field: 'create_date'
162
+ },
163
+ updateDate: {
164
+ type: DataTypes.DATE,
165
+ allowNull: false,
166
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
167
+ field: 'update_date'
168
+ },
169
+ hasPhoto: {
170
+ type: DataTypes.BOOLEAN,
171
+ allowNull: true,
172
+ defaultValue: false,
173
+ field: 'has_photo'
174
+ },
175
+ hasThumbnailPhoto: {
176
+ type: DataTypes.BOOLEAN,
177
+ allowNull: true,
178
+ defaultValue: false,
179
+ field: 'has_thumbnail_photo'
180
+ },
181
+ description: {
182
+ type: DataTypes.TEXT,
183
+ allowNull: true
184
+ },
185
+ images: {
186
+ type: DataTypes.JSONB,
187
+ allowNull: true
188
+ },
189
+ lastImageHarvestAttempt: {
190
+ type: DataTypes.DATE,
191
+ allowNull: true,
192
+ field: 'last_image_harvest_attempt'
193
+ }
194
+ }, {
195
+ sequelize,
196
+ tableName: 'canon_album',
197
+ schema: 'eb',
198
+ timestamps: false,
199
+ indexes: [
200
+ {
201
+ name: "canon_album_pkey",
202
+ unique: true,
203
+ fields: [
204
+ { name: "id" },
205
+ ]
206
+ },
207
+ {
208
+ name: "eb_canon_album_last_image_harvest_attempt",
209
+ fields: [
210
+ { name: "last_image_harvest_attempt" },
211
+ ]
212
+ },
213
+ ]
214
+ });
215
+ }
216
+ }
@@ -0,0 +1,92 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonAlbum, CanonAlbumId } from './CanonAlbum';
4
+ import type { ExternalReference, ExternalReferenceId } from './ExternalReference';
5
+
6
+ export interface CanonAlbumExternalReferenceRelationAttributes {
7
+ canonAlbumId: string;
8
+ externalReferenceId: string;
9
+ url: string;
10
+ createDate: Date;
11
+ updateDate: Date;
12
+ }
13
+
14
+ export type CanonAlbumExternalReferenceRelationPk = "canonAlbumId" | "externalReferenceId";
15
+ export type CanonAlbumExternalReferenceRelationId = CanonAlbumExternalReferenceRelation[CanonAlbumExternalReferenceRelationPk];
16
+ export type CanonAlbumExternalReferenceRelationOptionalAttributes = "createDate" | "updateDate";
17
+ export type CanonAlbumExternalReferenceRelationCreationAttributes = Optional<CanonAlbumExternalReferenceRelationAttributes, CanonAlbumExternalReferenceRelationOptionalAttributes>;
18
+
19
+ export class CanonAlbumExternalReferenceRelation extends Model<CanonAlbumExternalReferenceRelationAttributes, CanonAlbumExternalReferenceRelationCreationAttributes> implements CanonAlbumExternalReferenceRelationAttributes {
20
+ canonAlbumId!: string;
21
+ externalReferenceId!: string;
22
+ url!: string;
23
+ createDate!: Date;
24
+ updateDate!: Date;
25
+
26
+ // CanonAlbumExternalReferenceRelation belongsTo CanonAlbum via canonAlbumId
27
+ canonAlbum!: CanonAlbum;
28
+ getCanonAlbum!: Sequelize.BelongsToGetAssociationMixin<CanonAlbum>;
29
+ setCanonAlbum!: Sequelize.BelongsToSetAssociationMixin<CanonAlbum, CanonAlbumId>;
30
+ createCanonAlbum!: Sequelize.BelongsToCreateAssociationMixin<CanonAlbum>;
31
+ // CanonAlbumExternalReferenceRelation belongsTo ExternalReference via externalReferenceId
32
+ externalReference!: ExternalReference;
33
+ getExternalReference!: Sequelize.BelongsToGetAssociationMixin<ExternalReference>;
34
+ setExternalReference!: Sequelize.BelongsToSetAssociationMixin<ExternalReference, ExternalReferenceId>;
35
+ createExternalReference!: Sequelize.BelongsToCreateAssociationMixin<ExternalReference>;
36
+
37
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonAlbumExternalReferenceRelation {
38
+ return CanonAlbumExternalReferenceRelation.init({
39
+ canonAlbumId: {
40
+ type: DataTypes.UUID,
41
+ allowNull: false,
42
+ primaryKey: true,
43
+ references: {
44
+ model: 'canon_album',
45
+ key: 'id'
46
+ },
47
+ field: 'canon_album_id'
48
+ },
49
+ externalReferenceId: {
50
+ type: DataTypes.UUID,
51
+ allowNull: false,
52
+ primaryKey: true,
53
+ references: {
54
+ model: 'external_reference',
55
+ key: 'id'
56
+ },
57
+ field: 'external_reference_id'
58
+ },
59
+ url: {
60
+ type: DataTypes.TEXT,
61
+ allowNull: false
62
+ },
63
+ createDate: {
64
+ type: DataTypes.DATE,
65
+ allowNull: false,
66
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
67
+ field: 'create_date'
68
+ },
69
+ updateDate: {
70
+ type: DataTypes.DATE,
71
+ allowNull: false,
72
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
73
+ field: 'update_date'
74
+ }
75
+ }, {
76
+ sequelize,
77
+ tableName: 'canon_album_external_reference_relation',
78
+ schema: 'eb',
79
+ timestamps: false,
80
+ indexes: [
81
+ {
82
+ name: "canon_album_external_reference_relation_pk",
83
+ unique: true,
84
+ fields: [
85
+ { name: "canon_album_id" },
86
+ { name: "external_reference_id" },
87
+ ]
88
+ },
89
+ ]
90
+ });
91
+ }
92
+ }
@@ -0,0 +1,86 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonGenre, CanonGenreId } from './CanonGenre';
4
+ import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
5
+
6
+ export interface CanonAlbumGenreRelationAttributes {
7
+ canonAlbumId: string;
8
+ canonGenreId: string;
9
+ createDate: Date;
10
+ updateDate: Date;
11
+ }
12
+
13
+ export type CanonAlbumGenreRelationPk = "canonAlbumId" | "canonGenreId";
14
+ export type CanonAlbumGenreRelationId = CanonAlbumGenreRelation[CanonAlbumGenreRelationPk];
15
+ export type CanonAlbumGenreRelationOptionalAttributes = "createDate" | "updateDate";
16
+ export type CanonAlbumGenreRelationCreationAttributes = Optional<CanonAlbumGenreRelationAttributes, CanonAlbumGenreRelationOptionalAttributes>;
17
+
18
+ export class CanonAlbumGenreRelation extends Model<CanonAlbumGenreRelationAttributes, CanonAlbumGenreRelationCreationAttributes> implements CanonAlbumGenreRelationAttributes {
19
+ canonAlbumId!: string;
20
+ canonGenreId!: string;
21
+ createDate!: Date;
22
+ updateDate!: Date;
23
+
24
+ // CanonAlbumGenreRelation belongsTo CanonGenre via canonGenreId
25
+ canonGenre!: CanonGenre;
26
+ getCanonGenre!: Sequelize.BelongsToGetAssociationMixin<CanonGenre>;
27
+ setCanonGenre!: Sequelize.BelongsToSetAssociationMixin<CanonGenre, CanonGenreId>;
28
+ createCanonGenre!: Sequelize.BelongsToCreateAssociationMixin<CanonGenre>;
29
+ // CanonAlbumGenreRelation belongsTo PlatformAlbum via canonAlbumId
30
+ canonAlbum!: PlatformAlbum;
31
+ getCanonAlbum!: Sequelize.BelongsToGetAssociationMixin<PlatformAlbum>;
32
+ setCanonAlbum!: Sequelize.BelongsToSetAssociationMixin<PlatformAlbum, PlatformAlbumId>;
33
+ createCanonAlbum!: Sequelize.BelongsToCreateAssociationMixin<PlatformAlbum>;
34
+
35
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonAlbumGenreRelation {
36
+ return CanonAlbumGenreRelation.init({
37
+ canonAlbumId: {
38
+ type: DataTypes.UUID,
39
+ allowNull: false,
40
+ primaryKey: true,
41
+ references: {
42
+ model: 'platform_album',
43
+ key: 'id'
44
+ },
45
+ field: 'canon_album_id'
46
+ },
47
+ canonGenreId: {
48
+ type: DataTypes.UUID,
49
+ allowNull: false,
50
+ primaryKey: true,
51
+ references: {
52
+ model: 'canon_genre',
53
+ key: 'id'
54
+ },
55
+ field: 'canon_genre_id'
56
+ },
57
+ createDate: {
58
+ type: DataTypes.DATE,
59
+ allowNull: false,
60
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
61
+ field: 'create_date'
62
+ },
63
+ updateDate: {
64
+ type: DataTypes.DATE,
65
+ allowNull: false,
66
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
67
+ field: 'update_date'
68
+ }
69
+ }, {
70
+ sequelize,
71
+ tableName: 'canon_album_genre_relation',
72
+ schema: 'eb',
73
+ timestamps: false,
74
+ indexes: [
75
+ {
76
+ name: "canon_album_genre_relation_pkey",
77
+ unique: true,
78
+ fields: [
79
+ { name: "canon_album_id" },
80
+ { name: "canon_genre_id" },
81
+ ]
82
+ },
83
+ ]
84
+ });
85
+ }
86
+ }
@@ -0,0 +1,106 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonAlbum, CanonAlbumId } from './CanonAlbum';
4
+
5
+ export interface CanonAlbumImageHarvestedAttributes {
6
+ id: string;
7
+ canonAlbumId: string;
8
+ priority?: number;
9
+ url?: string;
10
+ dateHarvested: Date;
11
+ storageKey: string;
12
+ harvestMethod?: string;
13
+ }
14
+
15
+ export type CanonAlbumImageHarvestedPk = "id";
16
+ export type CanonAlbumImageHarvestedId = CanonAlbumImageHarvested[CanonAlbumImageHarvestedPk];
17
+ export type CanonAlbumImageHarvestedOptionalAttributes = "id" | "priority" | "url" | "harvestMethod";
18
+ export type CanonAlbumImageHarvestedCreationAttributes = Optional<CanonAlbumImageHarvestedAttributes, CanonAlbumImageHarvestedOptionalAttributes>;
19
+
20
+ export class CanonAlbumImageHarvested extends Model<CanonAlbumImageHarvestedAttributes, CanonAlbumImageHarvestedCreationAttributes> implements CanonAlbumImageHarvestedAttributes {
21
+ id!: string;
22
+ canonAlbumId!: string;
23
+ priority?: number;
24
+ url?: string;
25
+ dateHarvested!: Date;
26
+ storageKey!: string;
27
+ harvestMethod?: string;
28
+
29
+ // CanonAlbumImageHarvested belongsTo CanonAlbum via canonAlbumId
30
+ canonAlbum!: CanonAlbum;
31
+ getCanonAlbum!: Sequelize.BelongsToGetAssociationMixin<CanonAlbum>;
32
+ setCanonAlbum!: Sequelize.BelongsToSetAssociationMixin<CanonAlbum, CanonAlbumId>;
33
+ createCanonAlbum!: Sequelize.BelongsToCreateAssociationMixin<CanonAlbum>;
34
+
35
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonAlbumImageHarvested {
36
+ return CanonAlbumImageHarvested.init({
37
+ id: {
38
+ type: DataTypes.UUID,
39
+ allowNull: false,
40
+ defaultValue: DataTypes.UUIDV4,
41
+ primaryKey: true
42
+ },
43
+ canonAlbumId: {
44
+ type: DataTypes.UUID,
45
+ allowNull: false,
46
+ references: {
47
+ model: 'canon_album',
48
+ key: 'id'
49
+ },
50
+ field: 'canon_album_id'
51
+ },
52
+ priority: {
53
+ type: DataTypes.DECIMAL,
54
+ allowNull: true,
55
+ defaultValue: 0
56
+ },
57
+ url: {
58
+ type: DataTypes.TEXT,
59
+ allowNull: true,
60
+ unique: "canon_album_image_harvested_url_unique"
61
+ },
62
+ dateHarvested: {
63
+ type: DataTypes.DATE,
64
+ allowNull: false,
65
+ field: 'date_harvested'
66
+ },
67
+ storageKey: {
68
+ type: DataTypes.STRING(255),
69
+ allowNull: false,
70
+ field: 'storage_key'
71
+ },
72
+ harvestMethod: {
73
+ type: DataTypes.STRING(255),
74
+ allowNull: true,
75
+ field: 'harvest_method'
76
+ }
77
+ }, {
78
+ sequelize,
79
+ tableName: 'canon_album_image_harvested',
80
+ schema: 'eb',
81
+ timestamps: false,
82
+ indexes: [
83
+ {
84
+ name: "canon_album_image_harvested_canon_album_id_index",
85
+ fields: [
86
+ { name: "canon_album_id" },
87
+ ]
88
+ },
89
+ {
90
+ name: "canon_album_image_harvested_pkey",
91
+ unique: true,
92
+ fields: [
93
+ { name: "id" },
94
+ ]
95
+ },
96
+ {
97
+ name: "canon_album_image_harvested_url_unique",
98
+ unique: true,
99
+ fields: [
100
+ { name: "url" },
101
+ ]
102
+ },
103
+ ]
104
+ });
105
+ }
106
+ }
@@ -0,0 +1,86 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonLabel, CanonLabelId } from './CanonLabel';
4
+ import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
5
+
6
+ export interface CanonAlbumLabelRelationAttributes {
7
+ canonAlbumId: string;
8
+ canonLabelId: string;
9
+ createDate: Date;
10
+ updateDate: Date;
11
+ }
12
+
13
+ export type CanonAlbumLabelRelationPk = "canonAlbumId" | "canonLabelId";
14
+ export type CanonAlbumLabelRelationId = CanonAlbumLabelRelation[CanonAlbumLabelRelationPk];
15
+ export type CanonAlbumLabelRelationOptionalAttributes = "createDate" | "updateDate";
16
+ export type CanonAlbumLabelRelationCreationAttributes = Optional<CanonAlbumLabelRelationAttributes, CanonAlbumLabelRelationOptionalAttributes>;
17
+
18
+ export class CanonAlbumLabelRelation extends Model<CanonAlbumLabelRelationAttributes, CanonAlbumLabelRelationCreationAttributes> implements CanonAlbumLabelRelationAttributes {
19
+ canonAlbumId!: string;
20
+ canonLabelId!: string;
21
+ createDate!: Date;
22
+ updateDate!: Date;
23
+
24
+ // CanonAlbumLabelRelation belongsTo CanonLabel via canonLabelId
25
+ canonLabel!: CanonLabel;
26
+ getCanonLabel!: Sequelize.BelongsToGetAssociationMixin<CanonLabel>;
27
+ setCanonLabel!: Sequelize.BelongsToSetAssociationMixin<CanonLabel, CanonLabelId>;
28
+ createCanonLabel!: Sequelize.BelongsToCreateAssociationMixin<CanonLabel>;
29
+ // CanonAlbumLabelRelation belongsTo PlatformAlbum via canonAlbumId
30
+ canonAlbum!: PlatformAlbum;
31
+ getCanonAlbum!: Sequelize.BelongsToGetAssociationMixin<PlatformAlbum>;
32
+ setCanonAlbum!: Sequelize.BelongsToSetAssociationMixin<PlatformAlbum, PlatformAlbumId>;
33
+ createCanonAlbum!: Sequelize.BelongsToCreateAssociationMixin<PlatformAlbum>;
34
+
35
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonAlbumLabelRelation {
36
+ return CanonAlbumLabelRelation.init({
37
+ canonAlbumId: {
38
+ type: DataTypes.UUID,
39
+ allowNull: false,
40
+ primaryKey: true,
41
+ references: {
42
+ model: 'platform_album',
43
+ key: 'id'
44
+ },
45
+ field: 'canon_album_id'
46
+ },
47
+ canonLabelId: {
48
+ type: DataTypes.UUID,
49
+ allowNull: false,
50
+ primaryKey: true,
51
+ references: {
52
+ model: 'canon_label',
53
+ key: 'id'
54
+ },
55
+ field: 'canon_label_id'
56
+ },
57
+ createDate: {
58
+ type: DataTypes.DATE,
59
+ allowNull: false,
60
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
61
+ field: 'create_date'
62
+ },
63
+ updateDate: {
64
+ type: DataTypes.DATE,
65
+ allowNull: false,
66
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
67
+ field: 'update_date'
68
+ }
69
+ }, {
70
+ sequelize,
71
+ tableName: 'canon_album_label_relation',
72
+ schema: 'eb',
73
+ timestamps: false,
74
+ indexes: [
75
+ {
76
+ name: "canon_album_label_relation_pkey",
77
+ unique: true,
78
+ fields: [
79
+ { name: "canon_album_id" },
80
+ { name: "canon_label_id" },
81
+ ]
82
+ },
83
+ ]
84
+ });
85
+ }
86
+ }
@@ -0,0 +1,86 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonAlbum, CanonAlbumId } from './CanonAlbum';
4
+ import type { CanonTrack, CanonTrackId } from './CanonTrack';
5
+
6
+ export interface CanonAlbumTrackRelationAttributes {
7
+ canonAlbumId: string;
8
+ canonTrackId: string;
9
+ createDate: Date;
10
+ updateDate: Date;
11
+ }
12
+
13
+ export type CanonAlbumTrackRelationPk = "canonAlbumId" | "canonTrackId";
14
+ export type CanonAlbumTrackRelationId = CanonAlbumTrackRelation[CanonAlbumTrackRelationPk];
15
+ export type CanonAlbumTrackRelationOptionalAttributes = "createDate" | "updateDate";
16
+ export type CanonAlbumTrackRelationCreationAttributes = Optional<CanonAlbumTrackRelationAttributes, CanonAlbumTrackRelationOptionalAttributes>;
17
+
18
+ export class CanonAlbumTrackRelation extends Model<CanonAlbumTrackRelationAttributes, CanonAlbumTrackRelationCreationAttributes> implements CanonAlbumTrackRelationAttributes {
19
+ canonAlbumId!: string;
20
+ canonTrackId!: string;
21
+ createDate!: Date;
22
+ updateDate!: Date;
23
+
24
+ // CanonAlbumTrackRelation belongsTo CanonAlbum via canonAlbumId
25
+ canonAlbum!: CanonAlbum;
26
+ getCanonAlbum!: Sequelize.BelongsToGetAssociationMixin<CanonAlbum>;
27
+ setCanonAlbum!: Sequelize.BelongsToSetAssociationMixin<CanonAlbum, CanonAlbumId>;
28
+ createCanonAlbum!: Sequelize.BelongsToCreateAssociationMixin<CanonAlbum>;
29
+ // CanonAlbumTrackRelation belongsTo CanonTrack via canonTrackId
30
+ canonTrack!: CanonTrack;
31
+ getCanonTrack!: Sequelize.BelongsToGetAssociationMixin<CanonTrack>;
32
+ setCanonTrack!: Sequelize.BelongsToSetAssociationMixin<CanonTrack, CanonTrackId>;
33
+ createCanonTrack!: Sequelize.BelongsToCreateAssociationMixin<CanonTrack>;
34
+
35
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonAlbumTrackRelation {
36
+ return CanonAlbumTrackRelation.init({
37
+ canonAlbumId: {
38
+ type: DataTypes.UUID,
39
+ allowNull: false,
40
+ primaryKey: true,
41
+ references: {
42
+ model: 'canon_album',
43
+ key: 'id'
44
+ },
45
+ field: 'canon_album_id'
46
+ },
47
+ canonTrackId: {
48
+ type: DataTypes.UUID,
49
+ allowNull: false,
50
+ primaryKey: true,
51
+ references: {
52
+ model: 'canon_track',
53
+ key: 'id'
54
+ },
55
+ field: 'canon_track_id'
56
+ },
57
+ createDate: {
58
+ type: DataTypes.DATE,
59
+ allowNull: false,
60
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
61
+ field: 'create_date'
62
+ },
63
+ updateDate: {
64
+ type: DataTypes.DATE,
65
+ allowNull: false,
66
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
67
+ field: 'update_date'
68
+ }
69
+ }, {
70
+ sequelize,
71
+ tableName: 'canon_album_track_relation',
72
+ schema: 'eb',
73
+ timestamps: false,
74
+ indexes: [
75
+ {
76
+ name: "canon_album_track_relation_pkey",
77
+ unique: true,
78
+ fields: [
79
+ { name: "canon_album_id" },
80
+ { name: "canon_track_id" },
81
+ ]
82
+ },
83
+ ]
84
+ });
85
+ }
86
+ }