ASP.NET Project - Social Media REST API
No | Owner | Viewer |
---|---|---|
1 | Manage Profile | View Profile |
2 | Create Posts | View Posts |
3 | Manage Posts | Hide Posts |
4 | Create Comment | Create Comment |
5 | Edit Comment | Edit Comment |
6 | Hide Comment | Like Post |
7 | Like Post | View Event |
8 | Create Event | Request Join Event |
9 | Manage Event | |
10 | Invite Event Attendance | |
Code | Label |
---|---|
1 | Unverified |
2 | Verified |
3 | Suspend |
4 | Inactive |
5 | Deleted |
Code | Label |
---|---|
1 | Request |
2 | Approved |
3 | Rejected |
4 | Left |
5 | Removed |
Code | Label |
---|---|
1 | Public |
2 | Protected |
3 | Private |
Code | Label |
---|---|
1 | Like |
2 | Funny |
3 | Insightful |
4 | Sad |
Code | Label |
---|---|
1 | Register |
10 | UsernameChanges |
20 | PasswordChanges |
21 | PasswordReset |
40 | AccountDeactivation |
41 | AccountDeletion |
Code | Label |
---|---|
1 | Image |
2 | Audio |
3 | Video |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
Fullname | string | Length(255) | |
Username | string | Length(64), unique | |
string | Length(128), unique | ||
PasswordHash | string | Length(255) | |
DeletedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss', nullable | |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' | |
UpdatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
Bio | string | nullable | |
ProfileImage | string | nullable | |
PhoneNumber | string | Length(32), unique, nullable | |
CityBorn | string | Length(255), nullable | |
CityHome | string | Length(255), nullable | |
BirthDate | DateOnly | Length(10), 'yyyy-MM-dd', nullable | |
FK | UserId | int | |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' | |
UpdatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
AccountStatus | byte | Enum(AccountStatusEnum) | |
FK | UserId | int | |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
Token | string | Unique | |
UserAgent | string | ||
ExpiresDate | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' | |
FK | UserId | int | |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
Code | string | Length(6) | |
VerificationType | byte | Enum(VerificationTypeEnum) | |
PhoneNumber | string | Length(32), nullable | |
string | Length(128), nullable | ||
ExpiresDate | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' | |
VerifiedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss', nullable | |
FK | UserId | int | |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
Token | string | ||
VerificationType | byte | Enum(VerificationTypeEnum) | |
string | Length(128), nullable | ||
ExpiresDate | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' | |
VerifiedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss', nullable | |
FK | UserId | int | |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
IpAddress | string | Length(64), nullable | |
UserAgent | string | nullable | |
Action | string | nullable | |
FK | UserId | int | nullable |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
Name | string | Length(255) | |
Slug | string | Length(255), unique | |
PrivacyType | byte | Enum(PrivacyTypeEnum) | |
ProfileImage | string | nullable | |
Description | string | Length(1024), nullable | |
FK | CreatorId | int | |
DeletedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss', nullable | |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' | |
UpdatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
Slug | string | Length(255), unique | |
Status | byte | Enum(GroupMemberStatusEnum) | |
FK | GroupId | int | |
FK | MemberId | int | |
JoinedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss', nullable | |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' | |
UpdatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
Slug | string | Length(255), unique | |
CommentAvailability | bool | default(true) | |
Content | string | nullable | |
FK | AuthorId | int | |
FK | GroupId | int | nullable |
DeletedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss', nullable | |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' | |
UpdatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
MediaPath | string | ||
MediaType | byte | Enum(MediaTypeEnum) | |
FK | PostId | int | |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
Tag | string | Length(64), unique | |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
FK | PostId | int | |
FK | HashtagId | int | |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
Content | string | ||
FK | UserId | int | |
FK | PostId | int | |
FK | CommentId | int | nullable |
DeletedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss', nullable | |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' | |
UpdatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
Type | byte | Enum(ReactionTypeEnum) | |
FK | PostId | int | |
FK | UserId | int | |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' | |
UpdatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
Type | byte | Enum(ReactionTypeEnum) | |
FK | CommentId | int | |
FK | UserId | int | |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' | |
UpdatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |
Name | Type | ||
---|---|---|---|
PK | Id | int | Auto-increament |
Name | string | Length(255) | |
Slug | string | Length(255), unique | |
Description | string | Length(2048), nullable | |
Location | string | Length(255) | |
StartTime | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' | |
EndTime | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' | |
FK | CreatorId | int | |
FK | GroupId | int | nullable |
FK | PostId | int | nullable |
CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' | |
UpdatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |