<mavenBuild _class='hudson.maven.MavenBuild'><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><attachedArtifact><artifactId>dgss2526-teamA-microstories-tests</artifactId><canonicalName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT-sources.jar</canonicalName><classifier>sources</classifier><fileName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT-sources.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>e62b41fcb0c8a832d8df808cb4dbe37a</md5sum><type>java-source</type><version>0.1.0-SNAPSHOT</version></attachedArtifact><attachedArtifact><artifactId>dgss2526-teamA-microstories-tests</artifactId><canonicalName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT-javadoc.jar</canonicalName><classifier>javadoc</classifier><fileName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT-javadoc.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>93a474c6a5411b6dfd929fb26fc70a33</md5sum><type>javadoc</type><version>0.1.0-SNAPSHOT</version></attachedArtifact><mainArtifact><artifactId>dgss2526-teamA-microstories-tests</artifactId><canonicalName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT.jar</canonicalName><fileName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>85e24fdbd2d36cc6d13a16ebff56c657</md5sum><type>jar</type><version>0.1.0-SNAPSHOT</version></mainArtifact><parent><number>133</number><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-tests/133/</url></parent><pomArtifact><artifactId>dgss2526-teamA-microstories-tests</artifactId><canonicalName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT.pom</canonicalName><fileName>pom.xml</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>1532e76707f9f47692c2c417366732cb</md5sum><type>pom</type><version>0.1.0-SNAPSHOT</version></pomArtifact><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-tests/133/mavenArtifacts/</url></action><action></action><artifact><displayPath>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT-javadoc.jar</displayPath><fileName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT-javadoc.jar</fileName><relativePath>es.uvigo.esei.dgss.teamA.microstories/dgss2526-teamA-microstories-tests/0.1.0-SNAPSHOT/dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT-javadoc.jar</relativePath></artifact><artifact><displayPath>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT-sources.jar</displayPath><fileName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT-sources.jar</fileName><relativePath>es.uvigo.esei.dgss.teamA.microstories/dgss2526-teamA-microstories-tests/0.1.0-SNAPSHOT/dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT-sources.jar</relativePath></artifact><artifact><displayPath>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT.jar</displayPath><fileName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT.jar</fileName><relativePath>es.uvigo.esei.dgss.teamA.microstories/dgss2526-teamA-microstories-tests/0.1.0-SNAPSHOT/dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT.jar</relativePath></artifact><artifact><displayPath>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT.pom</displayPath><fileName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT.pom</fileName><relativePath>es.uvigo.esei.dgss.teamA.microstories/dgss2526-teamA-microstories-tests/0.1.0-SNAPSHOT/dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT.pom</relativePath></artifact><building>false</building><displayName>Tests</displayName><duration>4005</duration><estimatedDuration>4351</estimatedDuration><fullDisplayName>microstories-2526-teamA » Tests Tests</fullDisplayName><id>133</id><keepLog>false</keepLog><number>133</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1764957911526</timestamp><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-tests/133/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>service/src/test/resources/beans.xml</affectedPath><affectedPath>tests/src/main/java/es/uvigo/esei/dgss/teama/microstories/service/util/security/CreatorRoleCaller.java</affectedPath><affectedPath>service/src/test/java/es/uvigo/esei/microstories/services/StoryServiceIntegrationTest.java</affectedPath><affectedPath>domain/src/main/java/es/uvigo/esei/microstories/domain/entities/Story.java</affectedPath><affectedPath>tests/src/main/resources/datasets/stories.xml</affectedPath><affectedPath>service/src/main/java/es/uvigo/esei/microstories/mappers/StoryMapper.java</affectedPath><affectedPath>service/src/main/java/es/uvigo/esei/microstories/services/UserService.java</affectedPath><affectedPath>service/src/main/java/es/uvigo/esei/microstories/services/StoryService.java</affectedPath><affectedPath>service/src/main/java/es/uvigo/esei/microstories/dtos/StoryCreateDto.java</affectedPath><affectedPath>additional-material/db/microstories-mysql.creation.sql</affectedPath><affectedPath>additional-material/db/microstories-mysql.full.sql</affectedPath><affectedPath>domain/src/test/java/es/uvigo/esei/microstories/domain/entities/StoryTest.java</affectedPath><commitId>57e126d1e56da70df0f5d9f9f410b9b49e70935e</commitId><timestamp>1764957609000</timestamp><author><absoluteUrl>http://sing.ei.uvigo.es/dt/jenkins/user/devpablogg</absoluteUrl><fullName>devpablogg</fullName></author><authorEmail>devpablogg@gmail.com</authorEmail><comment>tsk57: Implements story creation and update in service layer
This commit adds full support for creating and updating stories. It
introduces
`StoryCreateDto`, implements creation and update flows in
`StoryService`, and applies permission checks using the security role
caller for CREATOR actions. A new `UserService` is added to resolve the
current user. The `Story` entity now supports relaxed nullability for
drafts, immutability after publication, theme and text validations, and
a new `isComplete` method. The database schema is updated to match these
rules. The `StoryMapper` is adjusted for the updated entity constructor.
Comprehensive unit and integration tests verify creation, updating,
validation behavior, and authorization handling.
</comment><date>2025-12-05 19:00:09 +0100</date><id>57e126d1e56da70df0f5d9f9f410b9b49e70935e</id><msg>tsk57: Implements story creation and update in service layer</msg><path><editType>edit</editType><file>additional-material/db/microstories-mysql.full.sql</file></path><path><editType>edit</editType><file>service/src/test/java/es/uvigo/esei/microstories/services/StoryServiceIntegrationTest.java</file></path><path><editType>edit</editType><file>domain/src/test/java/es/uvigo/esei/microstories/domain/entities/StoryTest.java</file></path><path><editType>edit</editType><file>service/src/test/resources/beans.xml</file></path><path><editType>add</editType><file>tests/src/main/java/es/uvigo/esei/dgss/teama/microstories/service/util/security/CreatorRoleCaller.java</file></path><path><editType>add</editType><file>service/src/main/java/es/uvigo/esei/microstories/dtos/StoryCreateDto.java</file></path><path><editType>edit</editType><file>additional-material/db/microstories-mysql.creation.sql</file></path><path><editType>edit</editType><file>service/src/main/java/es/uvigo/esei/microstories/services/StoryService.java</file></path><path><editType>edit</editType><file>tests/src/main/resources/datasets/stories.xml</file></path><path><editType>edit</editType><file>service/src/main/java/es/uvigo/esei/microstories/mappers/StoryMapper.java</file></path><path><editType>add</editType><file>service/src/main/java/es/uvigo/esei/microstories/services/UserService.java</file></path><path><editType>edit</editType><file>domain/src/main/java/es/uvigo/esei/microstories/domain/entities/Story.java</file></path></item></changeSet><culprit><absoluteUrl>http://sing.ei.uvigo.es/dt/jenkins/user/devpablogg</absoluteUrl><fullName>devpablogg</fullName><id>devpablogg</id><property _class='jenkins.security.ApiTokenProperty'></property><property _class='com.cloudbees.plugins.credentials.UserCredentialsProvider$UserCredentialsProperty'></property><property _class='hudson.plugins.emailext.watching.EmailExtWatchAction$UserProperty'></property><property _class='hudson.model.MyViewsProperty'></property><property _class='org.jenkinsci.plugins.displayurlapi.user.PreferredProviderUserProperty'></property><property _class='hudson.model.PaneStatusProperties'></property><property _class='hudson.search.UserSearchProperty'><insensitiveSearch>true</insensitiveSearch></property><property _class='hudson.tasks.Mailer$UserProperty'><address>devpablogg@gmail.com</address></property></culprit><mavenArtifacts><attachedArtifact><artifactId>dgss2526-teamA-microstories-tests</artifactId><canonicalName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT-sources.jar</canonicalName><classifier>sources</classifier><fileName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT-sources.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>e62b41fcb0c8a832d8df808cb4dbe37a</md5sum><type>java-source</type><version>0.1.0-SNAPSHOT</version></attachedArtifact><attachedArtifact><artifactId>dgss2526-teamA-microstories-tests</artifactId><canonicalName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT-javadoc.jar</canonicalName><classifier>javadoc</classifier><fileName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT-javadoc.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>93a474c6a5411b6dfd929fb26fc70a33</md5sum><type>javadoc</type><version>0.1.0-SNAPSHOT</version></attachedArtifact><mainArtifact><artifactId>dgss2526-teamA-microstories-tests</artifactId><canonicalName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT.jar</canonicalName><fileName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>85e24fdbd2d36cc6d13a16ebff56c657</md5sum><type>jar</type><version>0.1.0-SNAPSHOT</version></mainArtifact><parent><number>133</number><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-tests/133/</url></parent><pomArtifact><artifactId>dgss2526-teamA-microstories-tests</artifactId><canonicalName>dgss2526-teamA-microstories-tests-0.1.0-SNAPSHOT.pom</canonicalName><fileName>pom.xml</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>1532e76707f9f47692c2c417366732cb</md5sum><type>pom</type><version>0.1.0-SNAPSHOT</version></pomArtifact><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-tests/133/mavenArtifacts/</url></mavenArtifacts></mavenBuild>