@earbug/db-models 0.0.62 → 0.0.64

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 (135) hide show
  1. package/.dockerignore +10 -0
  2. package/.github/workflows/publish.yaml +303 -0
  3. package/.nvmrc +1 -0
  4. package/Dockerfile.generate +19 -0
  5. package/dist/RadioShow.d.ts +8 -1
  6. package/dist/RadioShow.js +16 -0
  7. package/dist/RadioShowType.d.ts +26 -0
  8. package/dist/RadioShowType.js +42 -0
  9. package/dist/init-models.d.ts +5 -2
  10. package/dist/init-models.js +8 -2
  11. package/model_options.json +3 -0
  12. package/models/AccessControlPreference.ts +53 -0
  13. package/models/AffinityRelationshipType.ts +96 -0
  14. package/models/AffinityTier.ts +131 -0
  15. package/models/AppUser.ts +577 -0
  16. package/models/AppUserDevice.ts +101 -0
  17. package/models/AppUserDeviceClassicBackup20260906.ts +66 -0
  18. package/models/AppUserFollowRelation.ts +128 -0
  19. package/models/AppUserPlatformRelation.ts +150 -0
  20. package/models/CanonAlbum.ts +229 -0
  21. package/models/CanonAlbumExternalReferenceRelation.ts +92 -0
  22. package/models/CanonAlbumGenreRelation.ts +86 -0
  23. package/models/CanonAlbumLabelRelation.ts +86 -0
  24. package/models/CanonAlbumTrackRelation.ts +92 -0
  25. package/models/CanonArtist.ts +356 -0
  26. package/models/CanonArtistAlbumRelation.ts +92 -0
  27. package/models/CanonArtistExternalReferenceRelation.ts +92 -0
  28. package/models/CanonArtistGenreRelation.ts +86 -0
  29. package/models/CanonArtistMemberRelation.ts +86 -0
  30. package/models/CanonArtistTrackRelation.ts +92 -0
  31. package/models/CanonGenre.ts +273 -0
  32. package/models/CanonGenreExternalReferenceRelation.ts +92 -0
  33. package/models/CanonLabel.ts +129 -0
  34. package/models/CanonLabelExternalReferenceRelation.ts +92 -0
  35. package/models/CanonMember.ts +130 -0
  36. package/models/CanonMemberExternalReferenceRelation.ts +99 -0
  37. package/models/CanonToPlatformAlbumRelation.ts +92 -0
  38. package/models/CanonToPlatformArtistRelation.ts +92 -0
  39. package/models/CanonToPlatformGenreRelation.ts +86 -0
  40. package/models/CanonToPlatformTrackRelation.ts +92 -0
  41. package/models/CanonTrack.ts +232 -0
  42. package/models/ConfigParam.ts +62 -0
  43. package/models/ExternalReference.ts +201 -0
  44. package/models/FeedConfig.ts +65 -0
  45. package/models/FeedContentType.ts +124 -0
  46. package/models/GuestUser.ts +137 -0
  47. package/models/JukeboxAccessType.ts +60 -0
  48. package/models/JukeboxCanonGenreRelation.ts +108 -0
  49. package/models/JukeboxInvite.ts +125 -0
  50. package/models/JukeboxQueueEntry.ts +247 -0
  51. package/models/JukeboxQueueMode.ts +60 -0
  52. package/models/JukeboxSession.ts +334 -0
  53. package/models/JukeboxSessionArtistAffinity.ts +136 -0
  54. package/models/JukeboxSessionGenreAffinity.ts +136 -0
  55. package/models/JukeboxStatus.ts +58 -0
  56. package/models/JukeboxTerminationCondition.ts +60 -0
  57. package/models/JukeboxType.ts +60 -0
  58. package/models/JukeboxUser.ts +182 -0
  59. package/models/JukeboxUserType.ts +58 -0
  60. package/models/KnexMigrations.ts +60 -0
  61. package/models/KnexMigrationsLock.ts +48 -0
  62. package/models/MerchItem.ts +198 -0
  63. package/models/MerchOrchestration.ts +130 -0
  64. package/models/MerchPlatform.ts +95 -0
  65. package/models/MerchType.ts +89 -0
  66. package/models/MetricsDaily.ts +79 -0
  67. package/models/MetricsEvent.ts +124 -0
  68. package/models/NewsArticle.ts +177 -0
  69. package/models/NewsPlatform.ts +76 -0
  70. package/models/NewsSite.ts +75 -0
  71. package/models/Notification.ts +214 -0
  72. package/models/NotificationType.ts +66 -0
  73. package/models/PauseStatusType.ts +58 -0
  74. package/models/Platform.ts +189 -0
  75. package/models/PlatformAlbum.ts +398 -0
  76. package/models/PlatformAlbumGenreRelation.ts +86 -0
  77. package/models/PlatformAlbumTrackRelation.ts +92 -0
  78. package/models/PlatformArtist.ts +358 -0
  79. package/models/PlatformArtistAlbumRelation.ts +92 -0
  80. package/models/PlatformArtistGenreRelation.ts +86 -0
  81. package/models/PlatformArtistTrackRelation.ts +92 -0
  82. package/models/PlatformGenre.ts +194 -0
  83. package/models/PlatformTrack.ts +339 -0
  84. package/models/PlatformTrackGenreRelation.ts +86 -0
  85. package/models/PlatformUserAlbum.ts +152 -0
  86. package/models/PlatformUserAlbumTrack.ts +138 -0
  87. package/models/PlatformUserPlaylist.ts +260 -0
  88. package/models/PlatformUserPlaylistArtistAffinity.ts +136 -0
  89. package/models/PlatformUserPlaylistGenreAffinity.ts +136 -0
  90. package/models/PlatformUserPlaylistTrack.ts +162 -0
  91. package/models/PlaybackStatus.ts +47 -0
  92. package/models/PlaybackStatusType.ts +58 -0
  93. package/models/RadioShow.ts +233 -0
  94. package/models/RadioShowGenres.ts +107 -0
  95. package/models/RadioShowMedia.ts +181 -0
  96. package/models/RadioShowPlacement.ts +115 -0
  97. package/models/RadioShowPublishRequests.ts +86 -0
  98. package/models/RadioShowType.ts +66 -0
  99. package/models/State.ts +86 -0
  100. package/models/TrackDeletionReason.ts +58 -0
  101. package/models/UnmatchedAlbum.ts +66 -0
  102. package/models/UnmatchedArtist.ts +81 -0
  103. package/models/UserAbuseReports.ts +232 -0
  104. package/models/UserAffinity.ts +117 -0
  105. package/models/UserArtistAffinity.ts +136 -0
  106. package/models/UserBookmarks.ts +235 -0
  107. package/models/UserComments.ts +271 -0
  108. package/models/UserContacts.ts +155 -0
  109. package/models/UserEngagementFactor.ts +109 -0
  110. package/models/UserGenreAffinity.ts +136 -0
  111. package/models/UserLikes.ts +235 -0
  112. package/models/UserMessages.ts +189 -0
  113. package/models/Versus.ts +438 -0
  114. package/models/VersusAccessType.ts +66 -0
  115. package/models/VersusCoCreator.ts +111 -0
  116. package/models/VersusCreatorScope.ts +66 -0
  117. package/models/VersusEndMode.ts +66 -0
  118. package/models/VersusEndTimerDuration.ts +81 -0
  119. package/models/VersusEndVoteThreshold.ts +67 -0
  120. package/models/VersusEntityKind.ts +79 -0
  121. package/models/VersusOption.ts +258 -0
  122. package/models/VersusPublishIssue.ts +146 -0
  123. package/models/VersusQuestion.ts +123 -0
  124. package/models/VersusQuestionVariableType.ts +66 -0
  125. package/models/VersusVote.ts +99 -0
  126. package/models/VersusVotingListType.ts +66 -0
  127. package/models/VersusVotingMode.ts +66 -0
  128. package/models/index.ts +3 -0
  129. package/models/init-models.ts +1268 -0
  130. package/models/initDb.ts +72 -0
  131. package/models/rdsCaBundle.ts +5 -0
  132. package/package.json +2 -5
  133. package/scripts/generate-and-upload.mjs +123 -0
  134. package/scripts/update-rds-ca-bundle.mjs +44 -0
  135. package/tsconfig.json +52 -0
@@ -0,0 +1,53 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+
4
+ export interface AccessControlPreferenceAttributes {
5
+ id: number;
6
+ name: string;
7
+ }
8
+
9
+ export type AccessControlPreferencePk = "id";
10
+ export type AccessControlPreferenceId = AccessControlPreference[AccessControlPreferencePk];
11
+ export type AccessControlPreferenceCreationAttributes = AccessControlPreferenceAttributes;
12
+
13
+ export class AccessControlPreference extends Model<AccessControlPreferenceAttributes, AccessControlPreferenceCreationAttributes> implements AccessControlPreferenceAttributes {
14
+ id!: number;
15
+ name!: string;
16
+
17
+
18
+ static initModel(sequelize: Sequelize.Sequelize): typeof AccessControlPreference {
19
+ return AccessControlPreference.init({
20
+ id: {
21
+ type: DataTypes.SMALLINT,
22
+ allowNull: false,
23
+ primaryKey: true
24
+ },
25
+ name: {
26
+ type: DataTypes.TEXT,
27
+ allowNull: false,
28
+ unique: "access_control_preference_name_unique"
29
+ }
30
+ }, {
31
+ sequelize,
32
+ tableName: 'access_control_preference',
33
+ schema: 'eb',
34
+ timestamps: false,
35
+ indexes: [
36
+ {
37
+ name: "access_control_preference_name_unique",
38
+ unique: true,
39
+ fields: [
40
+ { name: "name" },
41
+ ]
42
+ },
43
+ {
44
+ name: "access_control_preference_pkey",
45
+ unique: true,
46
+ fields: [
47
+ { name: "id" },
48
+ ]
49
+ },
50
+ ]
51
+ });
52
+ }
53
+ }
@@ -0,0 +1,96 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { UserAffinity, UserAffinityId } from './UserAffinity';
4
+
5
+ export interface AffinityRelationshipTypeAttributes {
6
+ id: string;
7
+ name: string;
8
+ category: string;
9
+ tier: string;
10
+ createDate?: Date;
11
+ updateDate?: Date;
12
+ }
13
+
14
+ export type AffinityRelationshipTypePk = "id";
15
+ export type AffinityRelationshipTypeId = AffinityRelationshipType[AffinityRelationshipTypePk];
16
+ export type AffinityRelationshipTypeOptionalAttributes = "id" | "createDate" | "updateDate";
17
+ export type AffinityRelationshipTypeCreationAttributes = Optional<AffinityRelationshipTypeAttributes, AffinityRelationshipTypeOptionalAttributes>;
18
+
19
+ export class AffinityRelationshipType extends Model<AffinityRelationshipTypeAttributes, AffinityRelationshipTypeCreationAttributes> implements AffinityRelationshipTypeAttributes {
20
+ id!: string;
21
+ name!: string;
22
+ category!: string;
23
+ tier!: string;
24
+ createDate?: Date;
25
+ updateDate?: Date;
26
+
27
+ // AffinityRelationshipType hasMany UserAffinity via affinityRelationshipTypeId
28
+ userAffinities!: UserAffinity[];
29
+ getUserAffinities!: Sequelize.HasManyGetAssociationsMixin<UserAffinity>;
30
+ setUserAffinities!: Sequelize.HasManySetAssociationsMixin<UserAffinity, UserAffinityId>;
31
+ addUserAffinity!: Sequelize.HasManyAddAssociationMixin<UserAffinity, UserAffinityId>;
32
+ addUserAffinities!: Sequelize.HasManyAddAssociationsMixin<UserAffinity, UserAffinityId>;
33
+ createUserAffinity!: Sequelize.HasManyCreateAssociationMixin<UserAffinity>;
34
+ removeUserAffinity!: Sequelize.HasManyRemoveAssociationMixin<UserAffinity, UserAffinityId>;
35
+ removeUserAffinities!: Sequelize.HasManyRemoveAssociationsMixin<UserAffinity, UserAffinityId>;
36
+ hasUserAffinity!: Sequelize.HasManyHasAssociationMixin<UserAffinity, UserAffinityId>;
37
+ hasUserAffinities!: Sequelize.HasManyHasAssociationsMixin<UserAffinity, UserAffinityId>;
38
+ countUserAffinities!: Sequelize.HasManyCountAssociationsMixin;
39
+
40
+ static initModel(sequelize: Sequelize.Sequelize): typeof AffinityRelationshipType {
41
+ return AffinityRelationshipType.init({
42
+ id: {
43
+ type: DataTypes.UUID,
44
+ allowNull: false,
45
+ defaultValue: DataTypes.UUIDV4,
46
+ primaryKey: true
47
+ },
48
+ name: {
49
+ type: DataTypes.STRING(50),
50
+ allowNull: false,
51
+ unique: "affinity_relationship_type_name_unique"
52
+ },
53
+ category: {
54
+ type: DataTypes.STRING(20),
55
+ allowNull: false
56
+ },
57
+ tier: {
58
+ type: DataTypes.STRING(20),
59
+ allowNull: false
60
+ },
61
+ createDate: {
62
+ type: DataTypes.DATE,
63
+ allowNull: true,
64
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
65
+ field: 'create_date'
66
+ },
67
+ updateDate: {
68
+ type: DataTypes.DATE,
69
+ allowNull: true,
70
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
71
+ field: 'update_date'
72
+ }
73
+ }, {
74
+ sequelize,
75
+ tableName: 'affinity_relationship_type',
76
+ schema: 'eb',
77
+ timestamps: false,
78
+ indexes: [
79
+ {
80
+ name: "affinity_relationship_type_name_unique",
81
+ unique: true,
82
+ fields: [
83
+ { name: "name" },
84
+ ]
85
+ },
86
+ {
87
+ name: "affinity_relationship_type_pkey",
88
+ unique: true,
89
+ fields: [
90
+ { name: "id" },
91
+ ]
92
+ },
93
+ ]
94
+ });
95
+ }
96
+ }
@@ -0,0 +1,131 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId } from './JukeboxSessionArtistAffinity';
4
+ import type { JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId } from './JukeboxSessionGenreAffinity';
5
+ import type { PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId } from './PlatformUserPlaylistArtistAffinity';
6
+ import type { PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId } from './PlatformUserPlaylistGenreAffinity';
7
+ import type { UserArtistAffinity, UserArtistAffinityId } from './UserArtistAffinity';
8
+ import type { UserGenreAffinity, UserGenreAffinityId } from './UserGenreAffinity';
9
+
10
+ export interface AffinityTierAttributes {
11
+ id: number;
12
+ name: string;
13
+ }
14
+
15
+ export type AffinityTierPk = "id";
16
+ export type AffinityTierId = AffinityTier[AffinityTierPk];
17
+ export type AffinityTierCreationAttributes = AffinityTierAttributes;
18
+
19
+ export class AffinityTier extends Model<AffinityTierAttributes, AffinityTierCreationAttributes> implements AffinityTierAttributes {
20
+ id!: number;
21
+ name!: string;
22
+
23
+ // AffinityTier hasMany JukeboxSessionArtistAffinity via affinityTierId
24
+ jukeboxSessionArtistAffinities!: JukeboxSessionArtistAffinity[];
25
+ getJukeboxSessionArtistAffinities!: Sequelize.HasManyGetAssociationsMixin<JukeboxSessionArtistAffinity>;
26
+ setJukeboxSessionArtistAffinities!: Sequelize.HasManySetAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
27
+ addJukeboxSessionArtistAffinity!: Sequelize.HasManyAddAssociationMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
28
+ addJukeboxSessionArtistAffinities!: Sequelize.HasManyAddAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
29
+ createJukeboxSessionArtistAffinity!: Sequelize.HasManyCreateAssociationMixin<JukeboxSessionArtistAffinity>;
30
+ removeJukeboxSessionArtistAffinity!: Sequelize.HasManyRemoveAssociationMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
31
+ removeJukeboxSessionArtistAffinities!: Sequelize.HasManyRemoveAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
32
+ hasJukeboxSessionArtistAffinity!: Sequelize.HasManyHasAssociationMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
33
+ hasJukeboxSessionArtistAffinities!: Sequelize.HasManyHasAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
34
+ countJukeboxSessionArtistAffinities!: Sequelize.HasManyCountAssociationsMixin;
35
+ // AffinityTier hasMany JukeboxSessionGenreAffinity via affinityTierId
36
+ jukeboxSessionGenreAffinities!: JukeboxSessionGenreAffinity[];
37
+ getJukeboxSessionGenreAffinities!: Sequelize.HasManyGetAssociationsMixin<JukeboxSessionGenreAffinity>;
38
+ setJukeboxSessionGenreAffinities!: Sequelize.HasManySetAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
39
+ addJukeboxSessionGenreAffinity!: Sequelize.HasManyAddAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
40
+ addJukeboxSessionGenreAffinities!: Sequelize.HasManyAddAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
41
+ createJukeboxSessionGenreAffinity!: Sequelize.HasManyCreateAssociationMixin<JukeboxSessionGenreAffinity>;
42
+ removeJukeboxSessionGenreAffinity!: Sequelize.HasManyRemoveAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
43
+ removeJukeboxSessionGenreAffinities!: Sequelize.HasManyRemoveAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
44
+ hasJukeboxSessionGenreAffinity!: Sequelize.HasManyHasAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
45
+ hasJukeboxSessionGenreAffinities!: Sequelize.HasManyHasAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
46
+ countJukeboxSessionGenreAffinities!: Sequelize.HasManyCountAssociationsMixin;
47
+ // AffinityTier hasMany PlatformUserPlaylistArtistAffinity via affinityTierId
48
+ platformUserPlaylistArtistAffinities!: PlatformUserPlaylistArtistAffinity[];
49
+ getPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistArtistAffinity>;
50
+ setPlatformUserPlaylistArtistAffinities!: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
51
+ addPlatformUserPlaylistArtistAffinity!: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
52
+ addPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
53
+ createPlatformUserPlaylistArtistAffinity!: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistArtistAffinity>;
54
+ removePlatformUserPlaylistArtistAffinity!: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
55
+ removePlatformUserPlaylistArtistAffinities!: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
56
+ hasPlatformUserPlaylistArtistAffinity!: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
57
+ hasPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
58
+ countPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyCountAssociationsMixin;
59
+ // AffinityTier hasMany PlatformUserPlaylistGenreAffinity via affinityTierId
60
+ platformUserPlaylistGenreAffinities!: PlatformUserPlaylistGenreAffinity[];
61
+ getPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistGenreAffinity>;
62
+ setPlatformUserPlaylistGenreAffinities!: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
63
+ addPlatformUserPlaylistGenreAffinity!: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
64
+ addPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
65
+ createPlatformUserPlaylistGenreAffinity!: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistGenreAffinity>;
66
+ removePlatformUserPlaylistGenreAffinity!: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
67
+ removePlatformUserPlaylistGenreAffinities!: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
68
+ hasPlatformUserPlaylistGenreAffinity!: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
69
+ hasPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
70
+ countPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyCountAssociationsMixin;
71
+ // AffinityTier hasMany UserArtistAffinity via affinityTierId
72
+ userArtistAffinities!: UserArtistAffinity[];
73
+ getUserArtistAffinities!: Sequelize.HasManyGetAssociationsMixin<UserArtistAffinity>;
74
+ setUserArtistAffinities!: Sequelize.HasManySetAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
75
+ addUserArtistAffinity!: Sequelize.HasManyAddAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
76
+ addUserArtistAffinities!: Sequelize.HasManyAddAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
77
+ createUserArtistAffinity!: Sequelize.HasManyCreateAssociationMixin<UserArtistAffinity>;
78
+ removeUserArtistAffinity!: Sequelize.HasManyRemoveAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
79
+ removeUserArtistAffinities!: Sequelize.HasManyRemoveAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
80
+ hasUserArtistAffinity!: Sequelize.HasManyHasAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
81
+ hasUserArtistAffinities!: Sequelize.HasManyHasAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
82
+ countUserArtistAffinities!: Sequelize.HasManyCountAssociationsMixin;
83
+ // AffinityTier hasMany UserGenreAffinity via affinityTierId
84
+ userGenreAffinities!: UserGenreAffinity[];
85
+ getUserGenreAffinities!: Sequelize.HasManyGetAssociationsMixin<UserGenreAffinity>;
86
+ setUserGenreAffinities!: Sequelize.HasManySetAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
87
+ addUserGenreAffinity!: Sequelize.HasManyAddAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
88
+ addUserGenreAffinities!: Sequelize.HasManyAddAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
89
+ createUserGenreAffinity!: Sequelize.HasManyCreateAssociationMixin<UserGenreAffinity>;
90
+ removeUserGenreAffinity!: Sequelize.HasManyRemoveAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
91
+ removeUserGenreAffinities!: Sequelize.HasManyRemoveAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
92
+ hasUserGenreAffinity!: Sequelize.HasManyHasAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
93
+ hasUserGenreAffinities!: Sequelize.HasManyHasAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
94
+ countUserGenreAffinities!: Sequelize.HasManyCountAssociationsMixin;
95
+
96
+ static initModel(sequelize: Sequelize.Sequelize): typeof AffinityTier {
97
+ return AffinityTier.init({
98
+ id: {
99
+ type: DataTypes.SMALLINT,
100
+ allowNull: false,
101
+ primaryKey: true
102
+ },
103
+ name: {
104
+ type: DataTypes.STRING(32),
105
+ allowNull: false,
106
+ unique: "affinity_tier_name_unique"
107
+ }
108
+ }, {
109
+ sequelize,
110
+ tableName: 'affinity_tier',
111
+ schema: 'eb',
112
+ timestamps: false,
113
+ indexes: [
114
+ {
115
+ name: "affinity_tier_name_unique",
116
+ unique: true,
117
+ fields: [
118
+ { name: "name" },
119
+ ]
120
+ },
121
+ {
122
+ name: "affinity_tier_pkey",
123
+ unique: true,
124
+ fields: [
125
+ { name: "id" },
126
+ ]
127
+ },
128
+ ]
129
+ });
130
+ }
131
+ }