WeddingThankYou
1.0.0.0
결혼식 이후 감사 인사와 사진, 계좌 안내, 연락처를 모바일 페이지로 전달하는 감사장 서비스입니다.
Toggle main menu visibility
로딩중...
검색중...
일치하는것 없음
MediaPolicy.cs
이 파일의 문서화 페이지로 가기
1
namespace
WeddingThankYou.Models
;
2
11
public
sealed
class
MediaPolicySettings
12
{
21
public
MediaTierPolicy
SystemDefault
{
get
;
set
; } =
MediaTierPolicy
.
CreateFreeDefault
();
22
31
public
MediaTierPolicy
FreeTier
{
get
;
set
; } =
MediaTierPolicy
.
CreateFreeDefault
();
32
41
public
MediaTierPolicy
PremiumTier
{
get
;
set
; } =
MediaTierPolicy
.
CreatePremiumDefault
();
42
51
public
void
Normalize
()
52
{
53
SystemDefault
??=
MediaTierPolicy
.
CreateFreeDefault
();
54
FreeTier
??=
MediaTierPolicy
.
CreateFreeDefault
();
55
PremiumTier
??=
MediaTierPolicy
.
CreatePremiumDefault
();
56
57
SystemDefault
.Normalize(
MediaTierPolicy
.
CreateFreeDefault
());
58
FreeTier
.Normalize(
MediaTierPolicy
.
CreateFreeDefault
());
59
PremiumTier
.Normalize(
MediaTierPolicy
.
CreatePremiumDefault
());
60
}
61
78
public
static
MediaPolicySettings
CreateDefault
()
79
{
80
var settings =
new
MediaPolicySettings
();
81
settings.Normalize();
82
return
settings;
83
}
84
}
85
94
public
sealed
class
MediaTierPolicy
95
{
104
public
int
ImageMaxCount
{
get
;
set
; } = 200;
105
114
public
int
ImageOptimizedMaxStorageMb
{
get
;
set
; } = 1024;
115
124
public
int
ImageOriginalMaxStorageMb
{
get
;
set
; } = 0;
125
134
public
int
ImageMaxLongSidePx
{
get
;
set
; } = 1920;
135
144
public
string
ImageOutputFormat
{
get
;
set
; } =
"WebP"
;
145
154
public
int
ImageQuality
{
get
;
set
; } = 80;
155
164
public
bool
StripExif
{
get
;
set
; } =
true
;
165
174
public
bool
KeepOriginalImages
{
get
;
set
; } =
false
;
175
184
public
int
VideoMaxFileSizeMb
{
get
;
set
; } = 50;
185
194
public
int
VideoMaxCount
{
get
;
set
; } = 1;
195
204
public
int
VideoMaxStorageMb
{
get
;
set
; } = 0;
205
214
public
bool
KeepOriginalVideos
{
get
;
set
; } =
false
;
215
232
public
static
MediaTierPolicy
CreateFreeDefault
() =>
new
()
233
{
234
ImageMaxCount
= 200,
235
ImageOptimizedMaxStorageMb
= 1024,
236
ImageOriginalMaxStorageMb
= 0,
237
ImageMaxLongSidePx
= 1920,
238
ImageOutputFormat
=
"WebP"
,
239
ImageQuality
= 80,
240
StripExif
=
true
,
241
KeepOriginalImages
=
false
,
242
VideoMaxFileSizeMb
= 50,
243
VideoMaxCount
= 1,
244
VideoMaxStorageMb
= 0,
245
KeepOriginalVideos
=
false
246
};
247
264
public
static
MediaTierPolicy
CreatePremiumDefault
() =>
new
()
265
{
266
ImageMaxCount
= 500,
267
ImageOptimizedMaxStorageMb
= 4096,
268
ImageOriginalMaxStorageMb
= 4096,
269
ImageMaxLongSidePx
= 2560,
270
ImageOutputFormat
=
"WebP"
,
271
ImageQuality
= 85,
272
StripExif
=
true
,
273
KeepOriginalImages
=
true
,
274
VideoMaxFileSizeMb
= 200,
275
VideoMaxCount
= 6,
276
VideoMaxStorageMb
= 0,
277
KeepOriginalVideos
=
true
278
};
279
296
public
void
Normalize
(
MediaTierPolicy
fallback)
297
{
298
ImageMaxCount
= Math.Max(0,
ImageMaxCount
);
299
ImageOptimizedMaxStorageMb
= Math.Max(0,
ImageOptimizedMaxStorageMb
);
300
ImageOriginalMaxStorageMb
= Math.Max(0,
ImageOriginalMaxStorageMb
);
301
ImageMaxLongSidePx
=
ImageMaxLongSidePx
<= 0 ? fallback.ImageMaxLongSidePx :
ImageMaxLongSidePx
;
302
ImageOutputFormat
=
string
.IsNullOrWhiteSpace(
ImageOutputFormat
) ? fallback.ImageOutputFormat :
ImageOutputFormat
.Trim();
303
ImageQuality
= Math.Clamp(
ImageQuality
<= 0 ? fallback.
ImageQuality
:
ImageQuality
, 1, 100);
304
VideoMaxFileSizeMb
= Math.Max(0,
VideoMaxFileSizeMb
);
305
VideoMaxCount
= Math.Max(0,
VideoMaxCount
);
306
VideoMaxStorageMb
= Math.Max(0,
VideoMaxStorageMb
);
307
}
308
}
309
318
public
sealed
class
MediaPolicyOverride
319
{
328
public
int
?
ImageMaxCount
{
get
;
set
; }
337
public
int
?
ImageOptimizedMaxStorageMb
{
get
;
set
; }
346
public
int
?
ImageOriginalMaxStorageMb
{
get
;
set
; }
355
public
int
?
ImageMaxLongSidePx
{
get
;
set
; }
364
public
string
?
ImageOutputFormat
{
get
;
set
; }
373
public
int
?
ImageQuality
{
get
;
set
; }
382
public
bool
?
StripExif
{
get
;
set
; }
391
public
bool
?
KeepOriginalImages
{
get
;
set
; }
400
public
int
?
VideoMaxFileSizeMb
{
get
;
set
; }
409
public
int
?
VideoMaxCount
{
get
;
set
; }
418
public
int
?
VideoMaxStorageMb
{
get
;
set
; }
427
public
bool
?
KeepOriginalVideos
{
get
;
set
; }
428
437
public
bool
IsEmpty
=>
438
ImageMaxCount
is
null
439
&&
ImageOptimizedMaxStorageMb
is
null
440
&&
ImageOriginalMaxStorageMb
is
null
441
&&
ImageMaxLongSidePx
is
null
442
&&
string
.IsNullOrWhiteSpace(
ImageOutputFormat
)
443
&&
ImageQuality
is
null
444
&&
StripExif
is
null
445
&&
KeepOriginalImages
is
null
446
&&
VideoMaxFileSizeMb
is
null
447
&&
VideoMaxCount
is
null
448
&&
VideoMaxStorageMb
is
null
449
&&
KeepOriginalVideos
is
null
;
450
}
451
460
public
sealed
class
EffectiveMediaPolicy
461
{
470
public
int
ImageMaxCount
{
get
; init; }
479
public
int
ImageOptimizedMaxStorageMb
{
get
; init; }
488
public
int
ImageOriginalMaxStorageMb
{
get
; init; }
497
public
int
ImageMaxLongSidePx
{
get
; init; }
506
public
string
ImageOutputFormat
{
get
; init; } =
"WebP"
;
515
public
int
ImageQuality
{
get
; init; }
524
public
bool
StripExif
{
get
; init; }
533
public
bool
KeepOriginalImages
{
get
; init; }
542
public
int
VideoMaxFileSizeMb
{
get
; init; }
551
public
int
VideoMaxCount
{
get
; init; }
560
public
int
VideoMaxStorageMb
{
get
; init; }
569
public
bool
KeepOriginalVideos
{
get
; init; }
570
579
public
long
VideoMaxFileSizeBytes
=>
VideoMaxFileSizeMb
<= 0 ? long.MaxValue :
VideoMaxFileSizeMb
* 1024L * 1024L;
580
589
public
long
ImageOptimizedMaxStorageBytes
=>
ImageOptimizedMaxStorageMb
<= 0 ? long.MaxValue :
ImageOptimizedMaxStorageMb
* 1024L * 1024L;
590
599
public
long
VideoMaxStorageBytes
=>
VideoMaxStorageMb
<= 0 ? long.MaxValue :
VideoMaxStorageMb
* 1024L * 1024L;
600
649
public
static
EffectiveMediaPolicy
From
(
MediaTierPolicy
tier,
MediaPolicyOverride
? accountOverride,
int
? legacyVideoSizeMb,
int
? legacyVideoCount)
650
{
651
return
new
EffectiveMediaPolicy
652
{
653
ImageMaxCount
= accountOverride?.
ImageMaxCount
?? tier.
ImageMaxCount
,
654
ImageOptimizedMaxStorageMb
= accountOverride?.
ImageOptimizedMaxStorageMb
?? tier.
ImageOptimizedMaxStorageMb
,
655
ImageOriginalMaxStorageMb
= accountOverride?.
ImageOriginalMaxStorageMb
?? tier.
ImageOriginalMaxStorageMb
,
656
ImageMaxLongSidePx
= accountOverride?.
ImageMaxLongSidePx
?? tier.
ImageMaxLongSidePx
,
657
ImageOutputFormat
=
string
.IsNullOrWhiteSpace(accountOverride?.
ImageOutputFormat
)
658
? tier.ImageOutputFormat
659
: accountOverride!.
ImageOutputFormat
!.Trim(),
660
ImageQuality
= Math.Clamp(accountOverride?.
ImageQuality
?? tier.
ImageQuality
, 1, 100),
661
StripExif
= accountOverride?.
StripExif
?? tier.
StripExif
,
662
KeepOriginalImages
= accountOverride?.
KeepOriginalImages
?? tier.
KeepOriginalImages
,
663
VideoMaxFileSizeMb
= accountOverride?.
VideoMaxFileSizeMb
?? legacyVideoSizeMb ?? tier.
VideoMaxFileSizeMb
,
664
VideoMaxCount
= accountOverride?.
VideoMaxCount
?? legacyVideoCount ?? tier.
VideoMaxCount
,
665
VideoMaxStorageMb
= accountOverride?.
VideoMaxStorageMb
?? tier.
VideoMaxStorageMb
,
666
KeepOriginalVideos
= accountOverride?.
KeepOriginalVideos
?? tier.
KeepOriginalVideos
,
667
};
668
}
669
}
WeddingThankYou.Models
Definition
AccountInfo.cs:1
WeddingThankYou.Models.MediaPolicySettings
Definition
MediaPolicy.cs:12
WeddingThankYou.Models.MediaPolicySettings.FreeTier
MediaTierPolicy FreeTier
Definition
MediaPolicy.cs:31
WeddingThankYou.Models.MediaPolicySettings.Normalize
void Normalize()
Definition
MediaPolicy.cs:51
WeddingThankYou.Models.MediaPolicySettings.PremiumTier
MediaTierPolicy PremiumTier
Definition
MediaPolicy.cs:41
WeddingThankYou.Models.MediaPolicySettings.CreateDefault
static MediaPolicySettings CreateDefault()
Definition
MediaPolicy.cs:78
WeddingThankYou.Models.MediaPolicySettings.SystemDefault
MediaTierPolicy SystemDefault
Definition
MediaPolicy.cs:21
WeddingThankYou.Models.MediaTierPolicy
Definition
MediaPolicy.cs:95
WeddingThankYou.Models.MediaTierPolicy.ImageOutputFormat
string ImageOutputFormat
Definition
MediaPolicy.cs:144
WeddingThankYou.Models.MediaTierPolicy.ImageMaxLongSidePx
int ImageMaxLongSidePx
Definition
MediaPolicy.cs:134
WeddingThankYou.Models.MediaTierPolicy.Normalize
void Normalize(MediaTierPolicy fallback)
Definition
MediaPolicy.cs:296
WeddingThankYou.Models.MediaTierPolicy.StripExif
bool StripExif
Definition
MediaPolicy.cs:164
WeddingThankYou.Models.MediaTierPolicy.VideoMaxStorageMb
int VideoMaxStorageMb
Definition
MediaPolicy.cs:204
WeddingThankYou.Models.MediaTierPolicy.KeepOriginalVideos
bool KeepOriginalVideos
Definition
MediaPolicy.cs:214
WeddingThankYou.Models.MediaTierPolicy.CreateFreeDefault
static MediaTierPolicy CreateFreeDefault()
Definition
MediaPolicy.cs:232
WeddingThankYou.Models.MediaTierPolicy.VideoMaxCount
int VideoMaxCount
Definition
MediaPolicy.cs:194
WeddingThankYou.Models.MediaTierPolicy.CreatePremiumDefault
static MediaTierPolicy CreatePremiumDefault()
Definition
MediaPolicy.cs:264
WeddingThankYou.Models.MediaTierPolicy.ImageMaxCount
int ImageMaxCount
Definition
MediaPolicy.cs:104
WeddingThankYou.Models.MediaTierPolicy.KeepOriginalImages
bool KeepOriginalImages
Definition
MediaPolicy.cs:174
WeddingThankYou.Models.MediaTierPolicy.VideoMaxFileSizeMb
int VideoMaxFileSizeMb
Definition
MediaPolicy.cs:184
WeddingThankYou.Models.MediaTierPolicy.ImageOriginalMaxStorageMb
int ImageOriginalMaxStorageMb
Definition
MediaPolicy.cs:124
WeddingThankYou.Models.MediaTierPolicy.ImageQuality
int ImageQuality
Definition
MediaPolicy.cs:154
WeddingThankYou.Models.MediaTierPolicy.ImageOptimizedMaxStorageMb
int ImageOptimizedMaxStorageMb
Definition
MediaPolicy.cs:114
WeddingThankYou.Models.MediaPolicyOverride
Definition
MediaPolicy.cs:319
WeddingThankYou.Models.MediaPolicyOverride.KeepOriginalImages
bool? KeepOriginalImages
Definition
MediaPolicy.cs:391
WeddingThankYou.Models.MediaPolicyOverride.VideoMaxFileSizeMb
int? VideoMaxFileSizeMb
Definition
MediaPolicy.cs:400
WeddingThankYou.Models.MediaPolicyOverride.ImageOutputFormat
string? ImageOutputFormat
Definition
MediaPolicy.cs:364
WeddingThankYou.Models.MediaPolicyOverride.ImageMaxLongSidePx
int? ImageMaxLongSidePx
Definition
MediaPolicy.cs:355
WeddingThankYou.Models.MediaPolicyOverride.ImageOptimizedMaxStorageMb
int? ImageOptimizedMaxStorageMb
Definition
MediaPolicy.cs:337
WeddingThankYou.Models.MediaPolicyOverride.IsEmpty
bool IsEmpty
Definition
MediaPolicy.cs:437
WeddingThankYou.Models.MediaPolicyOverride.StripExif
bool? StripExif
Definition
MediaPolicy.cs:382
WeddingThankYou.Models.MediaPolicyOverride.ImageOriginalMaxStorageMb
int? ImageOriginalMaxStorageMb
Definition
MediaPolicy.cs:346
WeddingThankYou.Models.MediaPolicyOverride.VideoMaxCount
int? VideoMaxCount
Definition
MediaPolicy.cs:409
WeddingThankYou.Models.MediaPolicyOverride.ImageQuality
int? ImageQuality
Definition
MediaPolicy.cs:373
WeddingThankYou.Models.MediaPolicyOverride.KeepOriginalVideos
bool? KeepOriginalVideos
Definition
MediaPolicy.cs:427
WeddingThankYou.Models.MediaPolicyOverride.VideoMaxStorageMb
int? VideoMaxStorageMb
Definition
MediaPolicy.cs:418
WeddingThankYou.Models.MediaPolicyOverride.ImageMaxCount
int? ImageMaxCount
Definition
MediaPolicy.cs:328
WeddingThankYou.Models.EffectiveMediaPolicy
Definition
MediaPolicy.cs:461
WeddingThankYou.Models.EffectiveMediaPolicy.StripExif
bool StripExif
Definition
MediaPolicy.cs:524
WeddingThankYou.Models.EffectiveMediaPolicy.VideoMaxStorageMb
int VideoMaxStorageMb
Definition
MediaPolicy.cs:560
WeddingThankYou.Models.EffectiveMediaPolicy.ImageOriginalMaxStorageMb
int ImageOriginalMaxStorageMb
Definition
MediaPolicy.cs:488
WeddingThankYou.Models.EffectiveMediaPolicy.VideoMaxStorageBytes
long VideoMaxStorageBytes
Definition
MediaPolicy.cs:599
WeddingThankYou.Models.EffectiveMediaPolicy.ImageMaxLongSidePx
int ImageMaxLongSidePx
Definition
MediaPolicy.cs:497
WeddingThankYou.Models.EffectiveMediaPolicy.ImageOptimizedMaxStorageBytes
long ImageOptimizedMaxStorageBytes
Definition
MediaPolicy.cs:589
WeddingThankYou.Models.EffectiveMediaPolicy.ImageOutputFormat
string ImageOutputFormat
Definition
MediaPolicy.cs:506
WeddingThankYou.Models.EffectiveMediaPolicy.VideoMaxFileSizeMb
int VideoMaxFileSizeMb
Definition
MediaPolicy.cs:542
WeddingThankYou.Models.EffectiveMediaPolicy.ImageQuality
int ImageQuality
Definition
MediaPolicy.cs:515
WeddingThankYou.Models.EffectiveMediaPolicy.ImageOptimizedMaxStorageMb
int ImageOptimizedMaxStorageMb
Definition
MediaPolicy.cs:479
WeddingThankYou.Models.EffectiveMediaPolicy.From
static EffectiveMediaPolicy From(MediaTierPolicy tier, MediaPolicyOverride? accountOverride, int? legacyVideoSizeMb, int? legacyVideoCount)
Definition
MediaPolicy.cs:649
WeddingThankYou.Models.EffectiveMediaPolicy.VideoMaxCount
int VideoMaxCount
Definition
MediaPolicy.cs:551
WeddingThankYou.Models.EffectiveMediaPolicy.KeepOriginalImages
bool KeepOriginalImages
Definition
MediaPolicy.cs:533
WeddingThankYou.Models.EffectiveMediaPolicy.KeepOriginalVideos
bool KeepOriginalVideos
Definition
MediaPolicy.cs:569
WeddingThankYou.Models.EffectiveMediaPolicy.ImageMaxCount
int ImageMaxCount
Definition
MediaPolicy.cs:470
WeddingThankYou.Models.EffectiveMediaPolicy.VideoMaxFileSizeBytes
long VideoMaxFileSizeBytes
Definition
MediaPolicy.cs:579
Models
MediaPolicy.cs
다음에 의해 생성됨 :
1.17.0