✨ Able to transfer story / article between realms
This commit is contained in:
		@@ -113,6 +113,7 @@ func editArticle(c *fiber.Ctx) error {
 | 
				
			|||||||
		InvisibleUsers []uint            `json:"invisible_users_list"`
 | 
							InvisibleUsers []uint            `json:"invisible_users_list"`
 | 
				
			||||||
		Visibility     *int8             `json:"visibility"`
 | 
							Visibility     *int8             `json:"visibility"`
 | 
				
			||||||
		IsDraft        bool              `json:"is_draft"`
 | 
							IsDraft        bool              `json:"is_draft"`
 | 
				
			||||||
 | 
							RealmAlias     *string           `json:"realm"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if err := exts.BindAndValidate(c, &data); err != nil {
 | 
						if err := exts.BindAndValidate(c, &data); err != nil {
 | 
				
			||||||
@@ -165,6 +166,16 @@ func editArticle(c *fiber.Ctx) error {
 | 
				
			|||||||
		item.Visibility = *data.Visibility
 | 
							item.Visibility = *data.Visibility
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if data.RealmAlias != nil {
 | 
				
			||||||
 | 
							if realm, err := services.GetRealmWithAlias(*data.RealmAlias); err != nil {
 | 
				
			||||||
 | 
								return fiber.NewError(fiber.StatusBadRequest, err.Error())
 | 
				
			||||||
 | 
							} else if _, err = services.GetRealmMember(realm.ExternalID, user.ExternalID); err != nil {
 | 
				
			||||||
 | 
								return fiber.NewError(fiber.StatusBadRequest, fmt.Sprintf("unable to post in the realm, access denied: %v", err))
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								item.RealmID = &realm.ID
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if item, err := services.EditPost(item); err != nil {
 | 
						if item, err := services.EditPost(item); err != nil {
 | 
				
			||||||
		return fiber.NewError(fiber.StatusBadRequest, err.Error())
 | 
							return fiber.NewError(fiber.StatusBadRequest, err.Error())
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -132,6 +132,7 @@ func editStory(c *fiber.Ctx) error {
 | 
				
			|||||||
		InvisibleUsers []uint            `json:"invisible_users_list"`
 | 
							InvisibleUsers []uint            `json:"invisible_users_list"`
 | 
				
			||||||
		Visibility     *int8             `json:"visibility"`
 | 
							Visibility     *int8             `json:"visibility"`
 | 
				
			||||||
		IsDraft        bool              `json:"is_draft"`
 | 
							IsDraft        bool              `json:"is_draft"`
 | 
				
			||||||
 | 
							RealmAlias     *string           `json:"realm"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if err := exts.BindAndValidate(c, &data); err != nil {
 | 
						if err := exts.BindAndValidate(c, &data); err != nil {
 | 
				
			||||||
@@ -184,6 +185,16 @@ func editStory(c *fiber.Ctx) error {
 | 
				
			|||||||
		item.Visibility = *data.Visibility
 | 
							item.Visibility = *data.Visibility
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if data.RealmAlias != nil {
 | 
				
			||||||
 | 
							if realm, err := services.GetRealmWithAlias(*data.RealmAlias); err != nil {
 | 
				
			||||||
 | 
								return fiber.NewError(fiber.StatusBadRequest, err.Error())
 | 
				
			||||||
 | 
							} else if _, err = services.GetRealmMember(realm.ExternalID, user.ExternalID); err != nil {
 | 
				
			||||||
 | 
								return fiber.NewError(fiber.StatusBadRequest, fmt.Sprintf("unable to post in the realm, access denied: %v", err))
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								item.RealmID = &realm.ID
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if item, err := services.EditPost(item); err != nil {
 | 
						if item, err := services.EditPost(item); err != nil {
 | 
				
			||||||
		return fiber.NewError(fiber.StatusBadRequest, err.Error())
 | 
							return fiber.NewError(fiber.StatusBadRequest, err.Error())
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user